Fix release workflow for workspace packages #17
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Build UI | |
| run: bun run build:hook | |
| - name: Bundle server (resolve workspace packages) | |
| run: bun build apps/hook/server/index.ts --outfile apps/hook/server/bundle.js --target=bun | |
| - name: Compile binaries (cross-compile all targets) | |
| run: | | |
| # macOS ARM64 | |
| bun build apps/hook/server/bundle.js --compile --target=bun-darwin-arm64 --outfile plannotator-darwin-arm64 | |
| sha256sum plannotator-darwin-arm64 > plannotator-darwin-arm64.sha256 | |
| # macOS x64 | |
| bun build apps/hook/server/bundle.js --compile --target=bun-darwin-x64 --outfile plannotator-darwin-x64 | |
| sha256sum plannotator-darwin-x64 > plannotator-darwin-x64.sha256 | |
| # Linux x64 | |
| bun build apps/hook/server/bundle.js --compile --target=bun-linux-x64 --outfile plannotator-linux-x64 | |
| sha256sum plannotator-linux-x64 > plannotator-linux-x64.sha256 | |
| # Linux ARM64 | |
| bun build apps/hook/server/bundle.js --compile --target=bun-linux-arm64 --outfile plannotator-linux-arm64 | |
| sha256sum plannotator-linux-arm64 > plannotator-linux-arm64.sha256 | |
| # Windows x64 | |
| bun build apps/hook/server/bundle.js --compile --target=bun-windows-x64 --outfile plannotator-win32-x64.exe | |
| sha256sum plannotator-win32-x64.exe > plannotator-win32-x64.exe.sha256 | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: binaries | |
| path: | | |
| plannotator-* | |
| !*.ts | |
| release: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: binaries | |
| path: artifacts | |
| - name: List artifacts | |
| run: ls -la artifacts/ | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: artifacts/* | |
| generate_release_notes: true | |
| draft: false | |
| prerelease: ${{ contains(github.ref, '-') }} |