Initial commit: Skill-Repo mit wordcraft-mcp 0.1.0
Release / release (push) Canceled after 0s

This commit is contained in:
Dominic Gundel committed 2026-10-19 14:59:33 +02:00
commit 41816fbbae
21 files changed
+1003

No files matched your search

+64
View File
@@ -0,0 +1,64 @@
name: Release
# Ausloeser: Tag im Format <skill-name>/v<x.y.z>, z. B. wordcraft-mcp/v0.1.0
on:
push:
tags: ['*/v*']
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Tag zerlegen
id: tag
run: |
TAG="$GITHUB_REF_NAME"
SKILL="${TAG%%/v*}"
VERSION="${TAG#*/v}"
if [ ! -d "skills/$SKILL" ]; then
echo "::error::Skill '$SKILL' aus Tag '$TAG' existiert nicht unter skills/."
exit 1
fi
echo "skill=$SKILL" >> "$GITHUB_OUTPUT"
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
- name: Version gegen CHANGELOG pruefen
env:
SKILL: ${{ steps.tag.outputs.skill }}
VERSION: ${{ steps.tag.outputs.version }}
run: |
source scripts/lib.sh
CL="$(skill_version "skills/$SKILL")"
if [ "$CL" != "$VERSION" ]; then
echo "::error::Tag-Version $VERSION passt nicht zur CHANGELOG-Version '$CL' von $SKILL."
exit 1
fi
- name: Verpacken
run: bash scripts/package.sh "${{ steps.tag.outputs.skill }}"
- name: Release-Text aus CHANGELOG
env:
SKILL: ${{ steps.tag.outputs.skill }}
VERSION: ${{ steps.tag.outputs.version }}
run: |
awk -v v="$VERSION" '
index($0, "## " v " ") == 1 { on = 1; next }
/^## / && on { exit }
on { print }' "skills/$SKILL/CHANGELOG.md" > notes.md
cat notes.md
- name: Release anlegen
env:
GH_TOKEN: ${{ github.token }}
SKILL: ${{ steps.tag.outputs.skill }}
VERSION: ${{ steps.tag.outputs.version }}
run: |
gh release create "$GITHUB_REF_NAME" "dist/$SKILL-$VERSION.zip" \
--title "$SKILL $VERSION" \
--notes-file notes.md