fix: bake package ignore rules into skill publish release #3
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: Release Assets | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| permissions: | |
| contents: write | |
| jobs: | |
| release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| - name: Install validation dependencies | |
| run: npm install --no-save ajv@8 ajv-formats@3 | |
| - name: Validate schema before release | |
| run: | | |
| node <<'NODE' | |
| const fs = require('node:fs'); | |
| const Ajv2020 = require('ajv/dist/2020').default; | |
| const addFormats = require('ajv-formats').default; | |
| const schema = JSON.parse(fs.readFileSync('schemas/skill.schema.json', 'utf8')); | |
| const example = JSON.parse(fs.readFileSync('examples/skill.json', 'utf8')); | |
| const ajv = new Ajv2020({ allErrors: true, strict: false }); | |
| addFormats(ajv); | |
| const validate = ajv.compile(schema); | |
| const ok = validate(example); | |
| if (!ok) { | |
| console.error(JSON.stringify(validate.errors, null, 2)); | |
| process.exit(1); | |
| } | |
| console.log('Schema validation passed.'); | |
| NODE | |
| - name: Publish GitHub release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| generate_release_notes: true | |
| files: | | |
| action.yml | |
| entrypoint.mjs | |
| schemas/skill.schema.json | |
| examples/skill.json | |
| README.md | |
| CITATION.cff | |
| .zenodo.json | |
| apis.json | |
| llms.txt |