Enforce config example drift checks in CI and release

- add `verify:config-example` script with tests to fail on missing/stale generated config artifacts
- run the verification in CI and release workflows, and document it in release/docs guidance
- fix docs-site Cloudflare Pages watch path to `docs-site/*` with regression coverage
This commit is contained in:
2026-03-10 20:06:41 -07:00
parent 5f320edab5
commit 9c7e02cbf0
17 changed files with 346 additions and 44 deletions

View File

@@ -24,6 +24,10 @@ test('release workflow verifies a committed changelog section before publish', (
assert.match(releaseWorkflow, /bun run changelog:check/);
});
test('release workflow verifies generated config examples before packaging artifacts', () => {
assert.match(releaseWorkflow, /bun run verify:config-example/);
});
test('release workflow generates release notes from committed changelog output', () => {
assert.match(releaseWorkflow, /bun run changelog:release-notes/);
assert.ok(!releaseWorkflow.includes('git log --pretty=format:"- %s"'));
@@ -47,6 +51,10 @@ test('release package scripts disable implicit electron-builder publishing', ()
assert.match(packageJson.scripts['build:win:unsigned'] ?? '', /build-win-unsigned\.mjs/);
});
test('config example generation runs directly from source without unrelated bundle prerequisites', () => {
assert.equal(packageJson.scripts['generate:config-example'], 'bun run src/generate-config-example.ts');
});
test('windows release workflow publishes unsigned artifacts directly without SignPath', () => {
assert.match(releaseWorkflow, /Build unsigned Windows artifacts/);
assert.match(releaseWorkflow, /run: bun run build:win:unsigned/);