mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-10 02:30:39 +01:00
* Load the Capy crew skills only on Capy machines (GST-1833) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Add changelog entry for Capy-only crew skills (GST-1833) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Move the Capy-only crew tooling into crew/ and run its tests only when needed (GST-1833) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Test that the Capy launch file puts crew/bin on PATH Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Count any ~/.capy as a Capy machine, so a Mac running Capy keeps /captain Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Fix the tests and fixtures that broke when crew tooling moved into crew/ Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Plan every crew test when a pull request's merge-base can't be read Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Add a test that checks each crew-only module left the root tree for crew/ Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Run crew tests on pull requests that change bin/ commands or workflows they drive Review-Finding: p1/specialist-batched#1 reader=testing Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Keep running every crew test on every pull request; the skip comes in a later change Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Keep copied installs and older release bisects working after the crew/ move Setup now copies crew/lib into every host's runtime root beside bin and lib, so Windows installs (which copy instead of linking) can still start gstack-ship-receipt, gstack-pregate and the other commands that import it. The release bisect runs the train-gate script from wherever the checked-out commit has it, so a bisect over commits from before the move still gets a verdict. Review-Finding: p1/outside-voice#1 reader=outside-voice Review-Finding: p1/outside-voice#2 reader=outside-voice Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Say in the changelog that Windows installs keep working after the crew/ move Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Point the harness guide's merge-queue rows at crew/lib/ where those modules moved Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * Point the plain-title test at the wave module's new home in crew/ (GST-1833) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --------- Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
67 lines
3.6 KiB
TypeScript
67 lines
3.6 KiB
TypeScript
/**
|
|
* Crew-only modules live under crew/ (crew/README.md). Each one left the root
|
|
* tree whole: its old path is gone, its crew/ path exists, and the test-code
|
|
* typecheck still covers crew/test.
|
|
*/
|
|
import { describe, expect, test } from 'bun:test';
|
|
import * as fs from 'fs';
|
|
import * as path from 'path';
|
|
|
|
const ROOT = path.resolve(import.meta.dir, '..');
|
|
|
|
const MOVED: Array<[string, string]> = [
|
|
['lib/gate-cost-history.ts', 'crew/lib/gate-cost-history.ts'],
|
|
['lib/gate-cost.ts', 'crew/lib/gate-cost.ts'],
|
|
['lib/lane-ownership.ts', 'crew/lib/lane-ownership.ts'],
|
|
['lib/release-gate.ts', 'crew/lib/release-gate.ts'],
|
|
['lib/restamp-release.ts', 'crew/lib/restamp-release.ts'],
|
|
['lib/ship-queue-dispatch-ci.ts', 'crew/lib/ship-queue-dispatch-ci.ts'],
|
|
['lib/ship-queue-gate.ts', 'crew/lib/ship-queue-gate.ts'],
|
|
['lib/ship-queue-land-lock.ts', 'crew/lib/ship-queue-land-lock.ts'],
|
|
['lib/ship-queue-post-merge.ts', 'crew/lib/ship-queue-post-merge.ts'],
|
|
['lib/ship-queue-screen.ts', 'crew/lib/ship-queue-screen.ts'],
|
|
['lib/ship-queue-stack-tests.ts', 'crew/lib/ship-queue-stack-tests.ts'],
|
|
['lib/ship-queue-train-cli.ts', 'crew/lib/ship-queue-train-cli.ts'],
|
|
['lib/ship-queue-train-forget.ts', 'crew/lib/ship-queue-train-forget.ts'],
|
|
['lib/ship-queue-train-gate.ts', 'crew/lib/ship-queue-train-gate.ts'],
|
|
['lib/ship-queue-train-github.ts', 'crew/lib/ship-queue-train-github.ts'],
|
|
['lib/ship-queue-train-init.ts', 'crew/lib/ship-queue-train-init.ts'],
|
|
['lib/ship-queue-train-land.ts', 'crew/lib/ship-queue-train-land.ts'],
|
|
['lib/ship-queue-train-ready.ts', 'crew/lib/ship-queue-train-ready.ts'],
|
|
['lib/ship-queue-train-record.ts', 'crew/lib/ship-queue-train-record.ts'],
|
|
['lib/ship-queue-train-stamp.ts', 'crew/lib/ship-queue-train-stamp.ts'],
|
|
['lib/ship-queue-train-verdict.ts', 'crew/lib/ship-queue-train-verdict.ts'],
|
|
['lib/ship-queue-train-verify.ts', 'crew/lib/ship-queue-train-verify.ts'],
|
|
['lib/ship-queue-train-watch.ts', 'crew/lib/ship-queue-train-watch.ts'],
|
|
['lib/ship-queue-train.ts', 'crew/lib/ship-queue-train.ts'],
|
|
['lib/ship-queue-wave.ts', 'crew/lib/ship-queue-wave.ts'],
|
|
['lib/ship-recheck.ts', 'crew/lib/ship-recheck.ts'],
|
|
['lib/version-gate-train.ts', 'crew/lib/version-gate-train.ts'],
|
|
['scripts/census-arms.ts', 'crew/scripts/census-arms.ts'],
|
|
['scripts/eval-input-cache.ts', 'crew/scripts/eval-input-cache.ts'],
|
|
['scripts/gate-cost-replay.ts', 'crew/scripts/gate-cost-replay.ts'],
|
|
['scripts/gate-diff-calibrate.ts', 'crew/scripts/gate-diff-calibrate.ts'],
|
|
['scripts/gate-reuse.ts', 'crew/scripts/gate-reuse.ts'],
|
|
['scripts/judge-calibration-configs.ts', 'crew/scripts/judge-calibration-configs.ts'],
|
|
['scripts/measure-journal-read.ts', 'crew/scripts/measure-journal-read.ts'],
|
|
['scripts/recover-receipts.ts', 'crew/scripts/recover-receipts.ts'],
|
|
['scripts/release-cadence.ts', 'crew/scripts/release-cadence.ts'],
|
|
['scripts/release-cut.ts', 'crew/scripts/release-cut.ts'],
|
|
['scripts/replay-pr-selection.ts', 'crew/scripts/replay-pr-selection.ts'],
|
|
['scripts/review-dispatch-compare.ts', 'crew/scripts/review-dispatch-compare.ts'],
|
|
['scripts/train-backstop.ts', 'crew/scripts/train-backstop.ts'],
|
|
['scripts/train-gate.ts', 'crew/scripts/train-gate.ts'],
|
|
];
|
|
|
|
describe('crew-only modules moved into crew/', () => {
|
|
test.each(MOVED)('%s now lives at %s', (from, to) => {
|
|
expect(fs.existsSync(path.join(ROOT, from))).toBe(false);
|
|
expect(fs.existsSync(path.join(ROOT, to))).toBe(true);
|
|
});
|
|
|
|
test('tsconfig.test.json typechecks crew/test', () => {
|
|
const config = JSON.parse(fs.readFileSync(path.join(ROOT, 'tsconfig.test.json'), 'utf8'));
|
|
expect(config.include).toContain('crew/test/**/*.ts');
|
|
});
|
|
});
|