Files
antigravity-skills-reference/.github/workflows/publish-npm.yml
sickn33 2463affbac feat(repo): Automate repo hygiene and release sync
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.
2026-03-21 11:02:36 +01:00

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 }}