Skip to content

ci: run build/lint/type-check/test on every pull request - #127

Merged
towanTG merged 3 commits into
developfrom
task/unblock-fork-pr-ci-external-344646bb-a1
Jul 28, 2026
Merged

ci: run build/lint/type-check/test on every pull request#127
towanTG merged 3 commits into
developfrom
task/unblock-fork-pr-ci-external-344646bb-a1

Conversation

@towanTG

@towanTG towanTG commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Problem (API-2963)

Fork PRs could never go green — but the root cause is broader than the fork-approval setting: this repo had no general PR CI at all. The only pull_request workflow is enforce-dep-changeset.yml, path-filtered to packages/*/package.json. #122 merged today with zero automated checks (verified locally instead); #111/#108/#101 sit unverifiable.

Fix

Adds ci.yml: bun build:cibun lintbun type-check:cibun test on every PR, mirroring the gates release.yml already runs on develop pushes, plus tests. Reuses the existing setup-repo composite action.

Fork-safety: pull_request-triggered runs from forks receive no secrets and a read-only GITHUB_TOKEN; setup-repo (bun + node + bun install) needs neither. No pull_request_target anywhere, so there is no secret-exposure surface to weigh.

Remaining (repo settings — admin action, decision to record on the task)

Settings → Actions → Fork pull request workflows: switch to "Require approval for first-time contributors" (from "all outside collaborators"). With no secrets in the workflow the residual risk is compute abuse only, which first-time-contributor approval still covers.

Proof plan

After merge + the settings flip: approve/trigger a run on fork PR #111 or #108 and confirm the checks report.

Linear: API-2963

🤖 Generated with Claude Code

The repo previously had no general PR CI — the only pull_request
workflow was the path-filtered dep-changeset check, so PRs (fork or
internal) merged with zero automated verification. This mirrors the
gates release.yml runs on develop, plus bun test.

Fork-safe: pull_request runs from forks get no secrets and a read-only
token; setup-repo needs neither.

Linear: API-2963

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@towanTG
towanTG marked this pull request as ready for review July 28, 2026 11:31
github-actions Bot and others added 2 commits July 28, 2026 15:33
- timeout-minutes caps compute abuse
- persist-credentials: false keeps the token out of .git config
- pinned bun 1.3.13 (matches packageManager) instead of latest
- bun install --frozen-lockfile so dependency resolution cannot shift
  without a visible lockfile diff

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@towanTG
towanTG merged commit c8fe129 into develop Jul 28, 2026
1 check passed
@towanTG
towanTG deleted the task/unblock-fork-pr-ci-external-344646bb-a1 branch July 28, 2026 11:38
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