Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,9 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Generate web API bindings
run: pnpm --dir src/web-ui run gen:types

- name: Type-check web UI
run: pnpm run type-check:web

Expand Down
25 changes: 25 additions & 0 deletions scripts/check-github-config.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,31 @@ test('keeps Rust CI independent, restore-only on PRs, and target-focused', () =>
);
});

test('generates web API bindings before nightly web type-check', () => {
const workflow = yaml.parse(
readFileSync(path.join(repoRoot, '.github/workflows/nightly.yml'), 'utf8'),
);
const packageJob = workflow.jobs.package;
const steps = packageJob.steps;
const generationIndex = steps.findIndex(
(step) => step.name === 'Generate web API bindings',
);
const typeCheckIndex = steps.findIndex(
(step) => step.name === 'Type-check web UI',
);

assert.notEqual(generationIndex, -1);
assert.notEqual(typeCheckIndex, -1);
assert.equal(
steps[generationIndex].run,
'pnpm --dir src/web-ui run gen:types',
);
assert.ok(
generationIndex < typeCheckIndex,
'nightly must generate web API bindings before type-checking the web UI',
);
});

test('passes the verification key when signing the versioned Windows installer', () => {
const workflow = yaml.parse(
readFileSync(
Expand Down