Repository navigation
Conversation
mbg
force-pushed
the
mbg/ts/remaining-scripts
branch
from
July 31, 2026 13:24
c30ddcc to
86a0c12
Compare
mbg
force-pushed
the
mbg/ts/remaining-scripts
branch
from
July 31, 2026 13:38
86a0c12 to
d8e40bf
Compare
mbg
force-pushed
the
mbg/ts/remaining-scripts
branch
from
July 31, 2026 16:18
d8e40bf to
7e36708
Compare
pr-checkspr-checks
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The JavaScript check can miss generated files and omit its job summary, while moved-action paths may use an unpinned runtime dependency.
6 open findings
Use installed tsx binary after moving node_modules · New Invoke installed tsx binary directly · New Use status check to detect staged and untracked changes · New Await summary write before exiting failure path · New Test query-array sorting with reordered queries · New Correct LIB_ROOT documentation · New
What changed in this PR
Converts remaining CI utilities into the pr-checks TypeScript project with unit coverage and shared helpers.
Changes:
- Migrates bundle, SARIF, configuration, and generated-JavaScript checks.
- Adds tests for migrated scripts.
- Updates workflows and composite actions to invoke TypeScript scripts.
| File | Description |
|---|---|
pr-checks/update-release-branch.ts |
Uses shared command helpers. |
pr-checks/update-bundle.ts |
Adds TypeScript bundle updater. |
pr-checks/update-bundle.test.ts |
Tests bundle metadata updates. |
pr-checks/config.ts |
Exports source, library, and defaults paths. |
pr-checks/command.ts |
Adds shared command and Git helpers. |
pr-checks/check-sarif.ts |
Adds TypeScript SARIF validator. |
pr-checks/check-sarif.test.ts |
Tests SARIF validation. |
pr-checks/check-js.ts |
Replaces generated-JavaScript shell check. |
pr-checks/check-cs-config.ts |
Adds TypeScript configuration validator. |
pr-checks/check-cs-config.test.ts |
Tests configuration comparison. |
.github/workflows/update-bundle.yml |
Runs the new bundle updater. |
.github/workflows/script/check-js.sh |
Removes superseded shell script. |
.github/workflows/pr-checks.yml |
Runs the TypeScript JavaScript check. |
.github/actions/update-bundle/index.ts |
Removes the old updater implementation. |
.github/actions/update-bundle/action.yml |
Removes the old composite updater. |
.github/actions/check-sarif/index.js |
Removes the old SARIF implementation. |
.github/actions/check-sarif/action.yml |
Delegates SARIF validation to pr-checks. |
.github/actions/check-codescanning-config/index.ts |
Removes the old configuration checker. |
.github/actions/check-codescanning-config/action.yml |
Delegates configuration validation to pr-checks. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| EXPECTED_CONFIG_FILE_CONTENTS: '${{ inputs.expected-config-file-contents }}' | ||
| run: ts-node ./index.ts "$RUNNER_TEMP/user-config.yaml" "$EXPECTED_CONFIG_FILE_CONTENTS" | ||
| run: | | ||
| npx tsx ../action/pr-checks/check-cs-config.ts \ |
| --queries-run "$QUERIES_RUN" \ | ||
| --queries-not-run "$QUERIES_NOT_RUN" | ||
| else | ||
| npx tsx ../action/pr-checks/check-sarif.ts \ |
| function main() { | ||
| // Sanity check that repo is clean to start with | ||
| try { | ||
| runGit(["diff", "--exit-code"], { allowNonZeroExitCode: false }); |
Comment on lines
+50
to
+51
| core.summary.addHeading("Transpiled JS diff", 3); | ||
| core.summary.addCodeBlock(fs.readFileSync(diffFile, "utf-8"), "diff"); |
Comment on lines
+19
to
+22
| await it("passes when queries arrays match after sorting", () => { | ||
| const actual: UserConfig = { paths: ["b", "a", "c"] }; | ||
| const expected = JSON.stringify(actual); | ||
| assert.doesNotThrow(() => checkConfiguration(actual, expected)); |
| const SOURCE_ROOT = path.join(REPO_ROOT, "src"); | ||
| export const SOURCE_ROOT = path.join(REPO_ROOT, "src"); | ||
|
|
||
| /** The `src` directory. */ |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


This PR converts most remaining CI scripts to TypeScript (if they weren't already) and integrates them with the sub-project in
pr-checks. There are a couple or so left which I'll address separately in the future.Risk assessment
For internal use only. Please select the risk level of this change:
Which use cases does this change impact?
Environments:
How did/will you validate this change?
.test.tsfiles).pr-checks).If something goes wrong after this change is released, what are the mitigation and rollback strategies?
How will you know if something goes wrong after this change is released?
Are there any special considerations for merging or releasing this change?
Merge / deployment checklist