mirror of
https://github.com/nimbold/Firelink.git
synced 2026-07-26 20:18:37 +00:00
a300e440e0
- Enhance scripts/verify-binaries.js with 9 engine checks: sidecar existence, executable permission, file(1) identification, otool -L linkage scan (forbids /opt/homebrew, /usr/local/Cellar), yt-dlp packaging sanity, version self-tests, aria2 RPC smoke test, and stderr scanning for Library not loaded / image not found - Add release.yml workflow triggered on v* tags: engine-verification job runs verification, builds .app, uploads bundle; create-release job publishes GitHub Release - Add Verify bundled engines step to ci.yml for PR/main coverage - Create RELEASE.md documenting the full release process
1.8 KiB
1.8 KiB
Firelink Release Process
Prerequisites
- macOS ARM64 (aarch64) build host
- Node.js 22+
- Rust toolchain
- Tauri CLI (
cargo install tauri-cli --version "^2") - Apple Developer account with signing certificates (for notarized builds)
Step-by-step
1. Update version
Bump version in these files so they match:
| File | Field |
|---|---|
package.json |
version |
src-tauri/Cargo.toml |
package.version |
src-tauri/tauri.conf.json |
version |
2. Verify engines locally
node scripts/verify-binaries.js
This runs all pre-release checks:
- Target-triple sidecars exist
- Binaries are executable
file(1)identifies correct architectureotool -Lshows no local-only dylib paths- No
/opt/homebrewor/usr/local/Cellarlinkage - yt-dlp packaging is intact (onedir or standalone)
- Every engine runs and reports its version
- aria2 RPC daemon starts and responds to JSON-RPC
- No forbidden stderr patterns (
Library not loaded, etc.)
The build is blocked if any check fails, enforced via beforeBuildCommand in tauri.conf.json.
3. Build
npm run tauri build
4. Build artifacts
The packaged .app and .dmg appear in:
src-tauri/target/release/bundle/macos/
5. GitHub Release
Push a tag to trigger the release workflow:
git tag v<version>
git push origin v<version>
The release workflow (.github/workflows/release.yml) will:
| Job | What it does |
|---|---|
engine-verification |
Runs verify-binaries.js, builds .app, uploads artifacts |
create-release |
Creates GitHub Release with checksums and release notes |
CI verification
Every PR and push to main also runs node scripts/verify-binaries.js (see .github/workflows/ci.yml), so broken engines are caught before they reach a release tag.