Skip to content

chore(v0.242.1): release — field-receipt fixes for v0.242.0 #205

chore(v0.242.1): release — field-receipt fixes for v0.242.0

chore(v0.242.1): release — field-receipt fixes for v0.242.0 #205

Workflow file for this run

name: CI
# Workflow uses no untrusted github.event.* inputs (no issue/PR/comment data
# flows into run: blocks). Triggered by push/pull_request on the repo only.
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
smoke-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node: ['22', '24']
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node }}
- name: CLI smoke tests
run: bash scripts/smoke-test.sh
manifest-version-coherence:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Verify VERSION matches plugin.json
run: |
VFILE=$(cat VERSION | tr -d '[:space:]')
VPLUGIN=$(node -e "console.log(require('./.claude-plugin/plugin.json').version)")
echo "VERSION=$VFILE plugin.json=$VPLUGIN"
if [ "$VFILE" != "$VPLUGIN" ]; then
echo "Version drift: VERSION and plugin.json must agree"
exit 1
fi
- name: Verify CHANGELOG has section for current VERSION
run: |
VFILE=$(cat VERSION | tr -d '[:space:]')
if ! bash scripts/extract-changelog.sh "$VFILE" >/dev/null; then
echo "CHANGELOG.md is missing a section for version $VFILE"
exit 1
fi
token-report-regression:
# Soft-fail gate: reports regressions but doesn't block releases.
# Drop continue-on-error to promote to a required gate once soak telemetry
# confirms zero false-positives on the regression heuristic.
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: '22'
- name: Token-report regression check (cache-friendliness invariant)
run: node bin/devt-tools.cjs token-report --regression --since=7d --fail-on-regression
workflow-type-registry:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: '22'
- name: Verify VALID_WORKFLOW_TYPES has resume routing in next.md AND status.md
run: |
node -e "
const { VALID_WORKFLOW_TYPES } = require('./bin/modules/state.cjs');
const fs = require('fs');
const next = fs.readFileSync('workflows/next.md', 'utf8');
const status = fs.readFileSync('workflows/status.md', 'utf8');
const missingNext = [], missingStatus = [];
for (const t of VALID_WORKFLOW_TYPES) {
if (t === null) continue;
if (!next.includes(t)) missingNext.push(t);
if (!status.includes(t)) missingStatus.push(t);
}
if (missingNext.length) { console.error('Missing in next.md:', missingNext); process.exit(1); }
if (missingStatus.length) { console.error('Missing in status.md:', missingStatus); process.exit(1); }
console.log('All', [...VALID_WORKFLOW_TYPES].filter(Boolean).length, 'workflow types covered in both next.md and status.md');
"