Skip to content

Merge pull request #10 from pascalorg/fix/quiet-agent-workflows #12

Merge pull request #10 from pascalorg/fix/quiet-agent-workflows

Merge pull request #10 from pascalorg/fix/quiet-agent-workflows #12

Workflow file for this run

name: Release skill archive
on:
push:
tags: ["v*"]
workflow_dispatch:
inputs:
tag:
description: Existing release tag (for example v0.1.0)
type: string
required: true
permissions:
contents: read
concurrency:
group: skill-release-${{ inputs.tag || github.ref_name }}
cancel-in-progress: false
jobs:
release:
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: write
env:
RELEASE_TAG: ${{ inputs.tag || github.ref_name }}
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
ref: ${{ inputs.tag || github.ref }}
fetch-depth: 0
persist-credentials: false
- name: Require an existing version tag at this commit
shell: bash
run: |
set -euo pipefail
[[ "$RELEASE_TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]
test "$(git rev-parse HEAD)" = "$(git rev-parse --verify "refs/tags/$RELEASE_TAG^{commit}")"
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
- run: bun install --frozen-lockfile
- run: bun run check
- name: Match tag to plugin version
run: |
bun -e 'const p = await Bun.file("plugins/claude-code/.claude-plugin/plugin.json").json(); if (`v${p.version}` !== process.env.RELEASE_TAG) throw new Error("Tag must match plugin version");'
- name: Package the tagged public tree
shell: bash
run: |
set -euo pipefail
mkdir -p dist
git archive --format=tar.gz --prefix=blaze-skill/ HEAD > "dist/blaze-skill-$RELEASE_TAG.tar.gz"
cd dist
sha256sum "blaze-skill-$RELEASE_TAG.tar.gz" > SHA256SUMS
- name: Publish GitHub release
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: |
gh release create "$RELEASE_TAG" \
"dist/blaze-skill-$RELEASE_TAG.tar.gz" dist/SHA256SUMS \
--verify-tag --generate-notes --title "Blaze $RELEASE_TAG"