mirror of
https://github.com/block/goose.git
synced 2026-05-01 21:10:54 +00:00
feat(releases): set up a workflow for nightly releases (#4326)
This commit is contained in:
parent
21c0bb00cc
commit
6b9f0715d3
1 changed files with 98 additions and 0 deletions
98
.github/workflows/nightly.yml
vendored
Normal file
98
.github/workflows/nightly.yml
vendored
Normal file
|
|
@ -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…
Add table
Add a link
Reference in a new issue