refactor: extract release workflow scripts into modular files#175
refactor: extract release workflow scripts into modular files#175senamakel merged 2 commits intotinyhumansai:mainfrom
Conversation
Split monolithic inline bash from release.yml and release-packages.yml into standalone scripts under scripts/release/ for easier debugging and manual execution. New scripts: - bump-version.js: version bumping across package.json/tauri/Cargo - stage-sidecar.sh: stage + verify sidecar binary for Tauri bundler - sign-and-notarize-macos.sh: macOS code signing and notarization - repackage-dmg.sh: re-create and notarize DMG post-signing - upload-macos-artifacts.sh: re-upload notarized artifacts to release - package-cli-tarball.sh: package CLI binary into release tarball - build-linux-arm64.sh: build Linux arm64 CLI tarball - update-homebrew.sh: render and commit Homebrew formula to tap - build-apt-packages.sh: build .deb packages and apt repository - publish-npm.sh: stamp version and publish npm package Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughWorkflows moved inline release/build/sign/publish logic into new executable scripts under Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant GH_Workflow as GitHub Actions
participant Release_Scripts as scripts/release/*
participant GH_Release as GitHub Release (gh)
participant Apple as Apple Notary
participant Homebrew as Homebrew Tap Repo
participant Apt_GH_Pages as gh-pages apt repo
rect rgba(135,206,235,0.5)
GH_Workflow->>Release_Scripts: invoke bump-version / build / sign / package / publish (args + env)
end
Release_Scripts->>GH_Release: gh release download / upload assets
Release_Scripts->>Apple: submit notarization (xcrun notarytool)
Apple-->>Release_Scripts: notarization result + staple
Release_Scripts->>Homebrew: compute SHAs and push updated Formula
Release_Scripts->>Apt_GH_Pages: build .deb, assemble apt repo, commit/push to gh-pages
Release_Scripts->>GH_Release: upload final artifacts (tarballs, checksums, DMG)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Summary
release.ymlandrelease-packages.ymlinto 10 standalone scripts underscripts/release/DRY_RUN=truewhere applicable (homebrew, apt, npm)New scripts
bump-version.jsstage-sidecar.shsign-and-notarize-macos.shrepackage-dmg.shupload-macos-artifacts.shpackage-cli-tarball.shbuild-linux-arm64.shupdate-homebrew.shbuild-apt-packages.shpublish-npm.shTest plan
bump-version.js patch— bumps version correctly across all 3 filespackage-cli-tarball.sh— creates valid tarball + sha256 from dummy binarystage-sidecar.sh— stages and verifies binary correctlysign-and-notarize-macos.sh— validates required env vars before proceedingpublish-npm.sh— runs with DRY_RUN modeupdate-homebrew.sh— fixed bash 3.2 compatibility (nodeclare -A)🤖 Generated with Claude Code
Summary by CodeRabbit