Skip to content

address review (codex): wire no-verdict and capped into the aggregate… #574

address review (codex): wire no-verdict and capped into the aggregate…

address review (codex): wire no-verdict and capped into the aggregate… #574

Workflow file for this run

name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
validate:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: ${{ matrix.node-version }}
- name: Validate modules load
run: node -e "require('./src/environments'); require('./src/transformer'); require('./src/installer'); require('./src/version-check'); console.log('OK')"
- name: Validate CLI help
run: node bin/cli.js --help
- name: Validate command listing
run: node bin/cli.js --list --env claude
- name: Validate dry-run install
run: node bin/cli.js --dry-run --env claude
- name: Validate frontmatter parsing
run: |
node -e "
const { parseFrontmatter } = require('./src/transformer');
const fs = require('fs');
const content = fs.readFileSync('commands/do/push.md', 'utf8');
const { frontmatter, body } = parseFrontmatter(content);
if (!frontmatter.description) { console.error('Missing description'); process.exit(1); }
console.log('Frontmatter OK:', frontmatter.description);
"
- name: Validate all commands have frontmatter
run: |
node -e "
const { parseFrontmatter } = require('./src/transformer');
const fs = require('fs');
const path = require('path');
const dir = 'commands/do';
const files = fs.readdirSync(dir).filter(f => f.endsWith('.md'));
let ok = true;
for (const f of files) {
const content = fs.readFileSync(path.join(dir, f), 'utf8');
const { frontmatter } = parseFrontmatter(content);
if (!frontmatter.description) {
console.error('Missing description in', f);
ok = false;
} else {
console.log('OK:', f, '-', frontmatter.description);
}
}
if (!ok) process.exit(1);
"
- name: Run test suite
run: npm test
shellcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Install shellcheck
run: sudo apt-get update && sudo apt-get install -y shellcheck
- name: Check install.sh
run: shellcheck install.sh
- name: Check uninstall.sh
run: shellcheck uninstall.sh