Unify main-branch maintenance around repo-state and release-state commands so generated docs, contributor acknowledgements, tracked web assets, and canonical artifacts stay aligned across CI and scheduled hygiene runs. Harden release publication by reusing deterministic sync commands, adding package dry-run verification, and covering the new workflow contract with regression tests.
64 lines
1.5 KiB
YAML
64 lines
1.5 KiB
YAML
# Publish antigravity-awesome-skills to npm on release.
|
|
# Requires NPM_TOKEN secret (npm → Access Tokens → Granular token with Publish).
|
|
# Before creating a Release: bump package.json "version" (npm forbids republishing the same version).
|
|
# Release tag (e.g. v4.6.1) should match package.json version.
|
|
|
|
name: Publish to npm
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.10"
|
|
|
|
- name: Install Python dependencies
|
|
run: pip install pyyaml
|
|
|
|
- name: Setup Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "20"
|
|
registry-url: "https://registry.npmjs.org"
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Validate references
|
|
run: npm run validate:references
|
|
|
|
- name: Sync release state
|
|
run: npm run sync:release-state
|
|
|
|
- name: Run tests
|
|
run: npm run test
|
|
|
|
- name: Run docs security checks
|
|
run: npm run security:docs
|
|
|
|
- name: Build web app
|
|
run: npm run app:build
|
|
|
|
- name: Verify canonical release state
|
|
run: git diff --exit-code
|
|
|
|
- name: Dry-run npm package
|
|
run: npm pack --dry-run --json
|
|
|
|
- name: Publish
|
|
run: npm publish
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|