fix(release): put all remaining @paperclipai workspace packages on the CI release train

Enroll every @paperclipai workspace package in the calver release train and
add a fail-fast guard that rejects any publishFromCi:true package depending on
a workspace package that is not on the train, so a canary can never ship an
unresolvable dependency again (root cause of the skills-catalog break).

Also recognize .mjs/.cjs test files in the PR test-coverage gate; the repo's
script tests use .mjs and were previously invisible to the gate.
This commit is contained in:
Devin Foley committed 2026-06-19 18:56:53 -07:00
1 parent 6b45b1559d
commit 6b38ec2cf8
5 files changed
+140 -7

No files matched your search

+2 -2
View File
@@ -9,8 +9,8 @@
import { fileURLToPath } from 'node:url';
const TEST_PATTERNS = [
/\.test\.(ts|js|tsx|jsx)$/,
/\.spec\.(ts|js|tsx|jsx)$/,
/\.test\.(ts|js|tsx|jsx|mjs|cjs)$/,
/\.spec\.(ts|js|tsx|jsx|mjs|cjs)$/,
/(?:^|\/)tests?\//,
/\/__tests__\//,
];
@@ -15,6 +15,14 @@ test('passes when .spec.js file is changed', () => {
assert.equal(checkTestCoverage(makeFiles(['src/bar.spec.js']), 'fix: bug').passed, true);
});
test('passes when .test.mjs file is changed', () => {
assert.equal(checkTestCoverage(makeFiles(['scripts/foo.test.mjs', 'scripts/foo.mjs']), 'fix: bug').passed, true);
});
test('passes when .test.cjs file is changed', () => {
assert.equal(checkTestCoverage(makeFiles(['scripts/bar.test.cjs']), 'fix: bug').passed, true);
});
test('passes when file under tests/ is changed', () => {
assert.equal(checkTestCoverage(makeFiles(['tests/unit/baz.ts']), 'fix: bug').passed, true);
});