Security audit: SHA-pin CodeQL actions, sync server.json version - #4
Merged
Conversation
- Pin codeql.yml's actions/checkout and github/codeql-action/* to immutable commit SHAs (previously mutable @v3/@v4 tags), matching the pinning convention already used in ci.yml and the publish workflows. - Bump python/server.json's version fields from 0.1.3 to 0.1.4 to match the actual current PyPI release of computeledger-cli. Investigated the previously reported TS "run" subcommand smoke tests hanging on Windows: reproduced locally and confirmed it is not a defect in run.ts. Every cli.smoke.test.ts test that shells out to the built CLI via execFileSync (not just the run subcommand tests) exceeds vitest's default 5000ms per-test timeout on this Windows machine purely from per-process node.exe spawn overhead; with a generous timeout override all 11 smoke tests (including all three run tests) pass cleanly. CI only targets ubuntu-latest, so this never surfaces there. No source change made for this finding, per instructions not to force a fix for a confirmed environment-only quirk. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QyJoCc6YtjnErv6HKa6NPu
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.
Summary
codeql.yml'sactions/checkoutandgithub/codeql-action/{init,autobuild,analyze}steps (previously mutable@v4/@v3tags) to immutable commit SHAs, matching the pinning convention already used inci.ymland the publish workflows.python/server.json's version fields from0.1.3to0.1.4to match the actual current PyPI release ofcomputeledger-cli.Investigation: TS
runsubcommand smoke-test hang on WindowsReproduced locally on Windows and confirmed this is not a defect in
run.ts. Everycli.smoke.test.tstest that shells out to the built CLI viaexecFileSync— not just the tests exercising therunsubcommand — exceeds vitest's default 5000ms per-test timeout purely from per-processnode.exespawn overhead on this machine. With a generous timeout override (--testTimeout=45000), all 11 smoke tests, including all threeruntests, pass cleanly with no hang.ci.ymlonly targetsubuntu-latest, so this never surfaces in actual CI. No source change was made for this finding, per instructions not to force a fix for a confirmed environment-only quirk.Test plan
npx vitest run(default settings, Windows): 25 passed / 11 failed of 36 — all 11 failures are either the known Windows path-separator assumption insrc/config.test.ts(2) orcli.smoke.test.tsper-test timeouts from Windows process-spawn overhead (9), none new or caused by this change.npx vitest run src/cli.smoke.test.ts --testTimeout=45000(Windows): 11/11 passed, confirming no genuine hang, including all threerunsubcommand tests.pytestvia the project's own.venv(Windows): 63 passed / 3 failed of 66 — all 3 failures are pre-existing Windows-specific causes (2 path-separator assumptions intest_config.py, 1 POSIX file-mode0o600assumption intest_crypto.py), unrelated to this change.package.json,package-lock.json,pyproject.toml, Python fallback version constants).Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01QyJoCc6YtjnErv6HKa6NPu