Skip to content

Release

Release #133

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
workflow_dispatch:
inputs:
version:
description: "Version number (e.g., 1.0.0)"
required: false
type: string
notes:
description: "Version notes"
required: false
type: string
permissions:
contents: write
jobs:
version:
name: Get Version
uses: ./.github/workflows/_get-version.yml
with:
version: ${{ inputs.version }}
notes: ${{ inputs.notes }}
secrets: inherit
build:
name: Build
needs: version
if: needs.version.outputs.kill-pipeline != 'true'
uses: ./.github/workflows/_build-release.yml
with:
version: ${{ needs.version.outputs.version }}
commit-sha: ${{ needs.version.outputs.new-sha }}
secrets: inherit
package-and-certify:
name: Package and Certify
needs: [build, version]
if: needs.version.outputs.kill-pipeline != 'true'
uses: ./.github/workflows/_package-and-certify.yml
permissions:
contents: write
id-token: write
attestations: write
artifact-metadata: write
with:
version: ${{ needs.version.outputs.version }}
secrets: inherit
sentry:
name: Sentry
needs: [version, package-and-certify, build]
if: needs.version.outputs.kill-pipeline != 'true'
uses: ./.github/workflows/_sentry-upload.yml
with:
version: ${{ needs.version.outputs.version }}
artifact-name: ${{ needs.build.outputs.artifact-name }}
secrets:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
publish:
name: Publish
needs: [version, package-and-certify, sentry]
if: needs.version.outputs.kill-pipeline != 'true'
uses: ./.github/workflows/_publish-release.yml
with:
version: ${{ needs.version.outputs.version }}
artifact-name: ${{ needs.package-and-certify.outputs.package-name }}
commit-sha: ${{ needs.version.outputs.new-sha }}
secrets: inherit