Skip to content

ci: add PR-time typecheck+test+build gate#27

Open
asachs01 wants to merge 1 commit into
mainfrom
ci/add-pr-time-gate
Open

ci: add PR-time typecheck+test+build gate#27
asachs01 wants to merge 1 commit into
mainfrom
ci/add-pr-time-gate

Conversation

@asachs01

Copy link
Copy Markdown
Member

Summary

  • Adds the PR-time CI gate this repo never had - release.yml only triggers on push to main/next/beta/alpha, so PRs currently get zero CI signal before merge.
  • Same gap class already closed on blackpoint-mcp#46 and mirrored from datto-rmm-mcp/ci.yml (typecheck via tsc --noEmit, vitest, tsup build).
  • Boss follow-up task from the Node-18-EOL batch: task_1784769813181_35351102.

What changed

  • New .github/workflows/ci.yml: single Node 20 job running install → lint → test → build on every PR to main. No docker/publish job - that stays release.yml's concern, this is PR-time gating only.
  • Single Node version (not the full 20.x/22.x matrix) since release.yml's push-triggered job on main already covers the version matrix - this keeps PR CI fast without duplicating it.
  • No private-registry auth included - this repo's only runtime dependency is oracledb (public npm), no @wyre-technology deps (verified .npmrc untouched).

Test plan

  • npm ci clean, including oracledb's native install script running successfully in this environment
  • npm run lint (tsc --noEmit) - clean
  • npm test - 8/8 passing (4 test files)
  • npm run build - clean

🤖 Generated with Claude Code

release.yml only triggers on push to main/next/beta/alpha - PRs get
zero CI today, so a PR could merge with a broken build/test and nobody
would know until the push-triggered release run fails after merge.
Same gap class already closed on blackpoint-mcp#46 and datto-rmm-mcp.

Mirrors that pattern: single Node 20 job (release.yml's push-triggered
matrix already covers 20.x/22.x on main, so this stays a fast PR-time
gate, not a duplicate matrix). No private-registry auth needed for
install - this repo's only runtime dependency is oracledb (public),
no @wyre-technology deps.

Verified locally on current main: lint (tsc --noEmit) + test (8/8) +
build all clean, including oracledb's native install script running
successfully in this environment.
@asachs01

Copy link
Copy Markdown
Member Author

Analyst review — cleared, ready for Aaron's batch.

Matches the established blackpoint-mcp#46 CI-gate pattern exactly (single Node 20 job: install/lint/test/build on PR+push to main, no docker job needed for a chore/CI-only change). Verified both pinned action SHAs (actions/checkout, actions/setup-node) genuinely resolve to their claimed tags via the GitHub API — not typosquatted or stale. Build job itself is green. Low-risk CI/tooling class per the autonomy rules.

(Left as a comment, not an approve — gh blocks approving under the shared account identity, same mechanics issue as earlier today, not a real conflict.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant