waveterm/.github/workflows/publish-release.yml

62 lines
2.4 KiB
YAML
Raw Normal View History

# Workflow to copy artifacts from the staging bucket to the release bucket when a new GitHub Release is published.
name: Publish Release
run-name: Publish ${{ github.ref_name }}
on:
release:
types: [published]
jobs:
publish:
if: ${{ startsWith(github.ref, 'refs/tags/') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Task
uses: arduino/setup-task@v2
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Snapcraft
run: sudo snap install snapcraft --classic
shell: bash
- name: Publish from staging
run: "task artifacts:publish:${{ github.ref_name }}"
env:
AWS_ACCESS_KEY_ID: "${{ secrets.PUBLISHER_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.PUBLISHER_KEY_SECRET }}"
AWS_DEFAULT_REGION: us-west-2
shell: bash
- name: Download Snap from Release
uses: robinraju/release-downloader@v1
with:
tag: ${{github.ref_name}}
fileName: "*.snap"
- name: Publish to Snapcraft
run: "task artifacts:snap:publish:${{ github.ref_name }}"
env:
SNAPCRAFT_STORE_CREDENTIALS: "${{secrets.SNAPCRAFT_LOGIN_CREDS}}"
shell: bash
bump-winget:
if: ${{ startsWith(github.ref, 'refs/tags/') && !contains(github.ref_name, 'beta') }}
needs: [publish]
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install Task
uses: arduino/setup-task@v2
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install winget
uses: Cyberboss/install-winget@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install wingetcreate
run: winget install -e --silent --accept-package-agreements --accept-source-agreements wingetcreate
shell: pwsh
- name: Submit WinGet version bump
run: "task artifacts:winget:publish:${{ github.ref_name }}"
env:
GITHUB_TOKEN: ${{ secrets.WINGET_BUMP_PAT }}
shell: pwsh