Skip to content

Add PR CI workflow and commit package-lock.json - #11

Merged
3uzbcqje merged 4 commits into
mainfrom
chore/pr-ci
Sep 14, 2026
Merged

3uzbcqje merged 4 commits into
mainfrom
chore/pr-ci

Conversation

@3uzbcqje

@3uzbcqje 3uzbcqje commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

Adds a pull_request-triggered build. Right now nothing in this repo verifies a PR at all — the existing workflows run on push to the default branch, after the merge. That is what makes the Dependabot PRs unreviewable: they look green because nothing is checking them.

Status

Green, confirmed by this PR's own CI run, not just locally.

Notes

  • npm ci, from the package-lock.json this PR now commits. Without one, npm ci could not run, the setup-node npm cache was unavailable, and Dependabot could only ever update the ranges in package.json — it had nowhere to pin transitive dependencies. Verified: npm ci from a clean tree, then npm run build, both pass.
  • NODE_OPTIONS=--openssl-legacy-provider: webpack 4 hashing vs OpenSSL 3 on modern Node.
  • CI: "false" on the build step. react-scripts promotes lint warnings to build errors whenever CI=true, which GitHub Actions sets automatically. My local run could not catch this (no CI var set); the first run of this workflow did. Clear the warnings and drop that line to get the strict behaviour back.
  • The test step is now enabled and runs 9 parser/tally tests. test1 tie breaking had never passed, but not for a domain reason: import data from "./simple.csv" resolves to the filename string "simple.csv" under Create React App's jest config (unknown extensions go through fileTransform), so parse() was handed a filename and returned null. The fixture is now read from disk with fs.readFileSync. The assertion itself was correct all along — Dylan and Eliza do win. Verified: npm cinpm run build → 9/9 tests pass.
  • The test step needs no OpenSSL workaround; that is a webpack concern and jest does not go through webpack. It passes --watchAll=false explicitly rather than relying on the CI variable, which would otherwise drop react-scripts into interactive watch mode and hang the job.

Conventions

  • Actions pinned by commit SHA rather than tag, matching Equal-Vote/terraform.
  • persist-credentials: false on checkout — otherwise the job token is left in .git/config, which the zizmor artipacked audit flags. Nothing here pushes.
  • permissions: contents: read — least privilege.
  • concurrency with cancel-in-progress, so a new push supersedes the in-flight run.

Every deviation above is explained inline in the workflow file, so the next person does not have to rediscover it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LpZM2dqedR4fXiLn7272XQ

@coderabbitai

coderabbitai Bot commented Sep 11, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 1f91d718-fbe8-4555-bbd5-64719a52b279


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Nothing currently verifies a pull request in this repo: the existing
workflows run on push to the default branch, after the merge. That makes
dependency bumps unreviewable in practice -- a Dependabot PR looks green
because nothing is checking it.

This adds a pull_request-triggered build. Actions are pinned by commit SHA
and checkout runs with persist-credentials: false, matching the convention
used elsewhere in the org and satisfying the zizmor audit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LpZM2dqedR4fXiLn7272XQ
No lockfile was committed, so `npm ci` could not run, the setup-node npm
cache was unavailable, and Dependabot had nowhere to pin transitive
dependencies -- it could only ever update the ranges in package.json.

Verified: npm ci from a clean tree, then npm run build, both pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LpZM2dqedR4fXiLn7272XQ
@3uzbcqje 3uzbcqje changed the title Add PR CI workflow Add PR CI workflow and commit package-lock.json Sep 11, 2026
3uzbcqje and others added 2 commits September 13, 2026 18:08
This repo has never had one. The initial import came out of CodeSandbox
without it, so nothing has ever guarded against committing a local install
or a build output.

Standard create-react-app contents, matching react-scripts 3.0.1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011x8VhZvLikFVF7op6i4fm3
import data from "./simple.csv" does not resolve to the file's contents
under Create React App's jest config. An unknown extension goes through
fileTransform, which resolves the import to the filename string
"simple.csv", so parse() was handed a filename, returned null, and the test
failed on "Cannot read properties of null". It had never passed.

Read the fixture from disk instead. All 9 tests pass, and CI now runs them.
The domain assertion was correct all along -- Dylan and Eliza do win.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LpZM2dqedR4fXiLn7272XQ
@3uzbcqje
3uzbcqje merged commit 5dde379 into main Sep 14, 2026
2 of 6 checks passed
@3uzbcqje
3uzbcqje deleted the chore/pr-ci branch September 14, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant