Some checks failed
Go / build-and-release (push) Has been cancelled
- Add Gitea issue templates for bug reports and feature requests with structured YAML forms for version, database backend, and log level - Add GitHub Actions CI workflow for automated testing on push/PR - Add GitHub Actions release workflow for building multi-platform binaries on tag push with SHA256 checksums - Add CONTRIBUTING.md with development setup, PR guidelines, and commit message format documentation - Add DECENTRALIZE_NOSTR.md expansion plan outlining WireGuard tunnel, GUI installer, system tray, and proxy server architecture - Update allowed commands in Claude settings - Bump version to v0.35.5 Files modified: - .gitea/issue_template/: Bug report, feature request, and config YAML - .github/workflows/: CI and release automation workflows - CONTRIBUTING.md: New contributor guide - docs/plans/DECENTRALIZE_NOSTR.md: Expansion architecture plan - .claude/settings.local.json: Updated allowed commands - pkg/version/version: Version bump to v0.35.5 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
155 lines
4.1 KiB
YAML
155 lines
4.1 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- goos: linux
|
|
goarch: amd64
|
|
platform: linux-amd64
|
|
ext: ""
|
|
lib: libsecp256k1.so
|
|
- goos: linux
|
|
goarch: arm64
|
|
platform: linux-arm64
|
|
ext: ""
|
|
lib: libsecp256k1.so
|
|
- goos: darwin
|
|
goarch: amd64
|
|
platform: darwin-amd64
|
|
ext: ""
|
|
lib: libsecp256k1.dylib
|
|
- goos: darwin
|
|
goarch: arm64
|
|
platform: darwin-arm64
|
|
ext: ""
|
|
lib: libsecp256k1.dylib
|
|
- goos: windows
|
|
goarch: amd64
|
|
platform: windows-amd64
|
|
ext: ".exe"
|
|
lib: libsecp256k1.dll
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '1.23'
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
|
|
- name: Install bun
|
|
run: |
|
|
curl -fsSL https://bun.sh/install | bash
|
|
echo "$HOME/.bun/bin" >> $GITHUB_PATH
|
|
|
|
- name: Build Web UI
|
|
run: |
|
|
cd app/web
|
|
$HOME/.bun/bin/bun install
|
|
$HOME/.bun/bin/bun run build
|
|
|
|
- name: Get version
|
|
id: version
|
|
run: echo "version=$(cat pkg/version/version)" >> $GITHUB_OUTPUT
|
|
|
|
- name: Build binary
|
|
env:
|
|
CGO_ENABLED: 0
|
|
GOOS: ${{ matrix.goos }}
|
|
GOARCH: ${{ matrix.goarch }}
|
|
run: |
|
|
VERSION=${{ steps.version.outputs.version }}
|
|
OUTPUT="orly-${VERSION}-${{ matrix.platform }}${{ matrix.ext }}"
|
|
go build -ldflags "-s -w -X main.version=${VERSION}" -o ${OUTPUT} .
|
|
sha256sum ${OUTPUT} > ${OUTPUT}.sha256
|
|
|
|
- name: Download runtime library
|
|
run: |
|
|
VERSION=${{ steps.version.outputs.version }}
|
|
LIB="${{ matrix.lib }}"
|
|
wget -q "https://git.mleku.dev/mleku/nostr/raw/branch/main/crypto/p8k/${LIB}" -O "${LIB}" || true
|
|
if [ -f "${LIB}" ]; then
|
|
sha256sum "${LIB}" > "${LIB}.sha256"
|
|
fi
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: orly-${{ matrix.platform }}
|
|
path: |
|
|
orly-*
|
|
libsecp256k1*
|
|
|
|
release:
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Get version
|
|
id: version
|
|
run: echo "version=$(cat pkg/version/version)" >> $GITHUB_OUTPUT
|
|
|
|
- name: Download all artifacts
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
path: artifacts
|
|
merge-multiple: true
|
|
|
|
- name: Create combined checksums
|
|
run: |
|
|
cd artifacts
|
|
cat *.sha256 | sort -k2 > SHA256SUMS.txt
|
|
rm -f *.sha256
|
|
|
|
- name: List release files
|
|
run: ls -la artifacts/
|
|
|
|
- name: Create Release
|
|
uses: softprops/action-gh-release@v1
|
|
with:
|
|
name: ORLY ${{ steps.version.outputs.version }}
|
|
body: |
|
|
## ORLY ${{ steps.version.outputs.version }}
|
|
|
|
### Downloads
|
|
|
|
Download the appropriate binary for your platform. The `libsecp256k1` library is optional but recommended for better cryptographic performance.
|
|
|
|
### Installation
|
|
|
|
1. Download the binary for your platform
|
|
2. (Optional) Download the corresponding `libsecp256k1` library
|
|
3. Place both files in the same directory
|
|
4. Make the binary executable: `chmod +x orly-*`
|
|
5. Run: `./orly-*-linux-amd64` (or your platform's binary)
|
|
|
|
### Verify Downloads
|
|
|
|
```bash
|
|
sha256sum -c SHA256SUMS.txt
|
|
```
|
|
|
|
### Configuration
|
|
|
|
See the [repository documentation](https://git.mleku.dev/mleku/next.orly.dev) for configuration options.
|
|
files: |
|
|
artifacts/*
|
|
draft: false
|
|
prerelease: false
|