Release: Rolling Tag Build #49
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
| # Release Workflow: Rolling Tag Build | |
| # | |
| # This workflow builds and publishes a rolling release when the `rolling` tag is pushed. | |
| # | |
| # Jobs and steps are named for clarity in the Actions UI. | |
| name: "Release: Rolling Tag Build" | |
| on: | |
| push: | |
| tags: | |
| - rolling | |
| workflow_dispatch: | |
| # Ensure only one instance of this workflow runs at any time across the repository. | |
| # - Use the workflow identifier (`github.workflow`) so the group is unique per workflow | |
| # across the repository and does not require hardcoding. | |
| # - `cancel-in-progress: true` cancels any currently running instance so the newest | |
| # run replaces older ones and always runs (useful for rolling releases). | |
| concurrency: | |
| group: ${{ github.workflow }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: write | |
| jobs: | |
| rolling-release: | |
| name: "Publish Rolling Release" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Install project | |
| run: | | |
| bun install --frozen-lockfile --ignore-scripts | |
| - name: Build project | |
| run: bun run build | |
| - name: Pack release | |
| run: | | |
| bun pm pack --destination=.github | |
| # Strip the version suffix (e.g. `-1.2.3`) so the rolling release artifact has a stable name. | |
| for file in .github/*.tgz; do mv "$file" "${file%-*}.tgz"; done | |
| - name: Upload release | |
| if: ${{github.ref == 'refs/tags/rolling'}} | |
| env: | |
| GH_TOKEN: ${{github.token}} | |
| run: | | |
| gh release upload rolling .github/*.tgz --clobber |