Skip to content

Release

Release #17

Workflow file for this run

name: Release
on:
workflow_dispatch:
inputs:
run_id:
description: 'ID of the CI workflow run that created the release assets'
type: number
required: true
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
permissions: {}
jobs:
release-drafter:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: read
steps:
- uses: release-drafter/release-drafter@5de93583980a40bd78603b6dfdcda5b4df377b32 # v7.2.0
with:
tag: ${{ github.ref_name }}
goreleaser:
runs-on: ubuntu-latest
needs: release-drafter
permissions:
# For actions/download-artifact
actions: read
# For GoReleaser
contents: write
# For actions/attest
id-token: write
attestations: write
artifact-metadata: write
steps:
- run: gh api repos/typisttech/php-matrix/actions/runs/${{ inputs.run_id }}/artifacts
- name: List artifacts for run
uses: actions/github-script@v6
with:
script: |
const runId = parseInt('${{ inputs.run_id }}', 10)
const res = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: runId
})
console.log(`Artifacts for run ${runId}:`)
res.data.artifacts.forEach(a => console.log(`- ${a.name}`))
if (res.data.total_count === 0) core.setFailed(`No artifacts found for run ${runId}`)
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: stable
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: php-matrix_linux_arm64
path: out/linux_arm64
run-id: ${{ inputs.run_id }}
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: php-matrix_linux_amd64
path: out/linux_amd64
run-id: ${{ inputs.run_id }}
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: php-matrix_darwin_arm64
path: out/darwin_arm64
run-id: ${{ inputs.run_id }}
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: php-matrix_darwin_amd64
path: out/darwin_amd64
run-id: ${{ inputs.run_id }}
- uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3.1.1
id: app-token
with:
client-id: ${{ vars.TASTENDRUCK_CLIENT_ID }}
private-key: ${{ secrets.TASTENDRUCK_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: homebrew-tap
permission-contents: write
- uses: goreleaser/goreleaser-action@1a80836c5c9d9e5755a25cb59ec6f45a3b5f41a8 # v7.2.1
with:
version: "~> v2"
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GORELEASER_HOMEBREW_GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
- uses: actions/attest@59d89421af93a897026c735860bf21b6eb4f7b26 # v4.1.0
with:
subject-checksums: ./dist/checksums.txt
- uses: cloudsmith-io/cloudsmith-cli-action@18665afcce9f859312b61989671af9af7402e4fb # v2.0.2
with:
api-key: ${{ secrets.CLOUDSMITH_API_KEY_TASTENDRUCK }}
- run: echo "VERSION=${TAG#v}" >> "$GITHUB_ENV"
env:
TAG: ${{ github.ref_name }}
- run: cloudsmith push deb typisttech/oss/any-distro/any-version "dist/php-matrix_${VERSION}_linux_arm64.deb"
- run: cloudsmith push deb typisttech/oss/any-distro/any-version "dist/php-matrix_${VERSION}_linux_amd64.deb"
- run: cloudsmith push alpine typisttech/oss/alpine/any-version "dist/php-matrix_${VERSION}_linux_arm64.apk"
- run: cloudsmith push alpine typisttech/oss/alpine/any-version "dist/php-matrix_${VERSION}_linux_amd64.apk"