Skip to content

1.0.60

1.0.60 #65

Workflow file for this run

name: Publish to npm
on:
push:
tags:
- "v*"
concurrency:
group: publish
cancel-in-progress: true
permissions:
id-token: write
contents: read
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
persist-credentials: false
# Full history + tags so check-versions.cjs can diff against the previous release
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: "24"
registry-url: "https://registry.npmjs.org"
- name: Verify tag matches package.json version
run: |
TAG_VERSION="${GITHUB_REF_NAME#v}"
PKG_VERSION="$(node -p "require('./package.json').version")"
if [ "$TAG_VERSION" != "$PKG_VERSION" ]; then
echo "Tag $GITHUB_REF_NAME does not match package.json version $PKG_VERSION"
exit 1
fi
- name: Verify per-skill versions bumped
run: node scripts/check-versions.cjs
- name: Verify README and CLAUDE.md list every skill and hook
run: node scripts/check-docs.cjs
- name: Verify skill names are converted correctly (estack- prefix, description, self-references)
run: node scripts/check-skill-name.cjs --all
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: Install pytest
run: pip install "pytest>=9,<10"
- name: Run pytest suite
# Don't write .pyc into the skill source dirs — npm publish (below)
# packs skills/ and would otherwise bundle the bytecode.
env:
PYTHONDONTWRITEBYTECODE: "1"
run: pytest -q
- name: Run migrate smoke tests
env:
PYTHONDONTWRITEBYTECODE: "1"
run: |
python tests/estack-migrate-claude-session-history/test-validate-migration.py
node tests/estack-migrate-claude-session-history/test-append-note.js
- name: Publish to npm
run: npm publish --access public