# 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-s3: name: Publish to Releases 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: 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 publish-snap-amd64: name: Publish AMD64 Snap if: ${{ startsWith(github.ref, 'refs/tags/') }} needs: [publish-s3] 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: Download Snap from Release uses: robinraju/release-downloader@v1 with: tag: ${{github.ref_name}} fileName: "*amd64.snap" - name: Publish to Snapcraft run: "task artifacts:snap:publish:${{ github.ref_name }}" env: SNAPCRAFT_STORE_CREDENTIALS: "${{secrets.SNAPCRAFT_LOGIN_CREDS}}" shell: bash publish-snap-arm64: name: Publish ARM64 Snap if: ${{ startsWith(github.ref, 'refs/tags/') }} needs: [publish-s3] 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: Download Snap from Release uses: robinraju/release-downloader@v1 with: tag: ${{github.ref_name}} fileName: "*arm64.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: name: Submit WinGet PR if: ${{ startsWith(github.ref, 'refs/tags/') && !contains(github.ref_name, 'beta') }} needs: [publish-s3] 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