chore: add tests and update url construction for azure provider (#988) #183
This file contains 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 canary releases, automatically triggered by push to main | |
# This workflow is identical to "release.yml" with these exceptions: | |
# - Triggered by push to main | |
# - Github Release tagged as "canary" | |
on: | |
push: | |
paths-ignore: | |
- 'documentation/**' | |
branches: | |
- main | |
name: Canary | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# ------------------------------------ | |
# 1) Prepare Version | |
# ------------------------------------ | |
prepare-version: | |
name: Prepare Version | |
runs-on: ubuntu-latest | |
outputs: | |
version: ${{ steps.set-version.outputs.version }} | |
steps: | |
- name: Generate a canary version | |
id: set-version | |
run: | | |
# TODO: fix this to be dynamic - extract version from repo | |
SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-7) | |
VERSION="1.0.3-canary+${SHORT_SHA}" | |
echo "version=$VERSION" >> $GITHUB_OUTPUT | |
# ------------------------------------ | |
# 2) Build CLI for multiple OS/Arch | |
# ------------------------------------ | |
build-cli: | |
needs: [prepare-version] | |
uses: ./.github/workflows/build-cli.yml | |
with: | |
version: ${{ needs.prepare-version.outputs.version }} | |
# ------------------------------------ | |
# 3) Upload Install CLI Script (we only need to do this once) | |
# ------------------------------------ | |
install-script: | |
name: Upload Install Script | |
runs-on: ubuntu-latest | |
needs: [ build-cli ] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: download_cli.sh | |
path: download_cli.sh | |
# ------------------------------------------------------------ | |
# 4) Bundle Desktop App (macOS only) - builds goosed and Electron app | |
# ------------------------------------------------------------ | |
bundle-desktop: | |
needs: [prepare-version] | |
uses: ./.github/workflows/bundle-desktop.yml | |
with: | |
version: ${{ needs.prepare-version.outputs.version }} | |
signing: true | |
secrets: | |
CERTIFICATE_OSX_APPLICATION: ${{ secrets.CERTIFICATE_OSX_APPLICATION }} | |
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }} | |
APPLE_ID: ${{ secrets.APPLE_ID }} | |
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} | |
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
# ------------------------------------ | |
# 5) Create/Update GitHub Release | |
# ------------------------------------ | |
release: | |
name: Release | |
runs-on: ubuntu-latest | |
needs: [ build-cli, install-script, bundle-desktop ] | |
permissions: | |
contents: write | |
steps: | |
- name: Download all artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
merge-multiple: true | |
# Create/update the canary release | |
- name: Release canary | |
uses: ncipollo/release-action@v1 | |
with: | |
tag: canary | |
name: Canary | |
token: ${{ secrets.GITHUB_TOKEN }} | |
artifacts: | | |
goose-*.tar.bz2 | |
Goose*.zip | |
download_cli.sh | |
allowUpdates: true | |
omitBody: true | |
omitPrereleaseDuringUpdate: true |