Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 98 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# 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
Loading