Nightly Build #14
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
| # This workflow is for nightly releases, automatically triggered at midnight US Eastern | |
| name: Nightly Build | |
| on: | |
| schedule: | |
| # Run at midnight US Eastern (0500 UTC) | |
| - cron: '0 5 * * *' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| prepare-version: | |
| name: Prepare Version | |
| runs-on: ubuntu-latest | |
| outputs: | |
| version: ${{ steps.set-version.outputs.version }} | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v4 | |
| - name: Generate a nightly version | |
| id: set-version | |
| run: | | |
| # Extract the version from Cargo.toml and add nightly tag with date | |
| VERSION=$(grep '^version\s*=' Cargo.toml | head -n 1 | cut -d\" -f2) | |
| DATE=$(date -u +%Y%m%d) | |
| VERSION="${VERSION}-nightly.${DATE}" | |
| echo "version=$VERSION" >> $GITHUB_OUTPUT | |
| build-cli: | |
| needs: [prepare-version] | |
| uses: ./.github/workflows/build-cli.yml | |
| with: | |
| version: ${{ needs.prepare-version.outputs.version }} | |
| install-script: | |
| name: Upload Install Script | |
| runs-on: ubuntu-latest | |
| needs: [build-cli] | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v4 | |
| - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # pin@v4 | |
| with: | |
| name: download_cli.sh | |
| path: download_cli.sh | |
| bundle-desktop: | |
| needs: [prepare-version] | |
| uses: ./.github/workflows/bundle-desktop.yml | |
| permissions: | |
| id-token: write | |
| contents: read | |
| with: | |
| version: ${{ needs.prepare-version.outputs.version }} | |
| signing: false | |
| bundle-desktop-linux: | |
| needs: [prepare-version] | |
| uses: ./.github/workflows/bundle-desktop-linux.yml | |
| with: | |
| version: ${{ needs.prepare-version.outputs.version }} | |
| bundle-desktop-windows: | |
| needs: [prepare-version] | |
| uses: ./.github/workflows/bundle-desktop-windows.yml | |
| with: | |
| version: ${{ needs.prepare-version.outputs.version }} | |
| signing: false | |
| release: | |
| name: Release | |
| runs-on: ubuntu-latest | |
| needs: [build-cli, install-script, bundle-desktop, bundle-desktop-linux, bundle-desktop-windows] | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # pin@v4 | |
| with: | |
| merge-multiple: true | |
| # Create/update the nightly release | |
| - name: Release nightly | |
| uses: ncipollo/release-action@440c8c1cb0ed28b9f43e4d1d670870f059653174 # pin@v1 | |
| with: | |
| tag: nightly | |
| name: Nightly | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| artifacts: | | |
| goose-*.tar.bz2 | |
| goose-*.zip | |
| Goose*.zip | |
| *.deb | |
| *.rpm | |
| download_cli.sh | |
| allowUpdates: true | |
| omitBody: true | |
| omitPrereleaseDuringUpdate: true |