Files
antigravity-skills-reference/.github/workflows/ci.yml
sck_0 559dd6f40f chore: implement repo improvements plan (npm scripts, docs, catalog CI, i18n, validator)
- Add npm scripts: validate, validate:strict, index, readme, chain, catalog, build
- Align docs to V4 and 560 skills (GETTING_STARTED, FAQ, BUNDLES, MAINTENANCE, vietnamese)
- build-catalog: output to data/ for catalog, bundles, aliases; add to CI and drift check
- Add yaml dep, Node setup and catalog step in CI; extend auto-commit and drift msg
- Translate CI and MAINTENANCE to English; update CI_DRIFT_FIX and maintenance routine
- QUALITY_BAR/CONTRIBUTING: canonical validator npm run validate; legacy note in validate-skills.js
2026-01-29 13:08:02 +01:00

85 lines
2.5 KiB
YAML

name: Skills Registry CI
permissions:
contents: write
on:
push:
branches: ["main", "feat/*"]
pull_request:
branches: ["main"]
workflow_dispatch:
jobs:
validate-and-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
pip install pyyaml
- name: 🔍 Validate Skills (Soft Mode)
run: |
python3 scripts/validate_skills.py
- name: 🏗️ Generate Index
run: |
python3 scripts/generate_index.py
- name: 📝 Update README
run: |
python3 scripts/update_readme.py
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "lts/*"
- name: Install npm dependencies
run: npm install
- name: 📦 Build catalog
run: npm run catalog
- name: Set up GitHub credentials (for auto-sync)
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
- name: Auto-commit registry drift (main only)
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
# If no changes, exit successfully
git diff --quiet && exit 0
git add README.md skills_index.json data/catalog.json data/bundles.json data/aliases.json CATALOG.md || true
# If nothing to commit, exit successfully
git diff --cached --quiet && exit 0
git commit -m "chore: sync generated registry files [ci skip]"
git push origin HEAD
- name: 🚨 Check for Uncommitted Drift
run: |
if ! git diff --quiet; then
echo "❌ Detected uncommitted changes produced by registry/readme/catalog scripts."
echo
echo "To fix locally, run the FULL Validation Chain, then commit and push:"
echo " npm run chain"
echo " npm run catalog"
echo " git add README.md skills_index.json data/catalog.json data/bundles.json data/aliases.json CATALOG.md"
echo " git commit -m \"chore: sync generated registry files\""
echo " git push"
exit 1
fi