1.0.47 #52
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |