ci: split PR workflow trigger-only jobs#3710
Conversation
|
Claude finished @joeyorlando's task in 3m 19s —— View job PR ReviewOverall this is a well-structured refactor. The approach of splitting trigger-only jobs into their own workflows is correct, and the Findings1. Hardcoded auto-commit message may misrepresent the diff — The commit message is hardcoded 2. Path-scoped codegen diff is a behavior tightening — The old workflow used 3. Loss of explicit drizzle-kit failure message — The old workflow printed if ! wait "$DRIZZLE_PID"; then
echo "::error::drizzle-kit check failed. Run 'pnpm drizzle-kit check' locally."
exit 1
fi4. Missing
5. PR title linter triggers on Correct choice (title doesn't change on code pushes), but worth verifying that required-check resolution doesn't get stuck when a PR is opened with a bad title, then fixed via 6. Docker Scout rebuilds images independently of On merge queue, both 7. The workflow-level 8. Release-please auto-commit path still validates nothing after By design, migrations/drizzle validation are skipped on auto-commit runs and re-validated on the follow-up push. Worth a one-line comment above 9. Concurrency on Group key falls back to 10. Both jobs use 11. Blocking issuesNone — all findings above are comments/suggestions. SummaryApproving intent. The only items I'd recommend addressing before merge are (1) the misleading hardcoded auto-commit message and (3) the silent Review Tasks
|
## Summary - restore the GAR auth secret names used by `platform-e2e-tests.yml` on trusted runs - fix merge queue E2E image builds failing before any tests start ## Context PR #3710 inlined the old reusable platform workflow into first-class workflows. During that refactor, the E2E image-build workflow switched from the repo's working secret names: - `DEVELOPMENT_OAUTH_PROXY_RELEASER_GCP_SERVICE_ACCOUNT_NAME` - `DEVELOPMENT_OAUTH_PROXY_RELEASER_GCP_WORKLOAD_IDENTITY_PROVIDER_IDENTIFIER` to generic `GCP_SERVICE_ACCOUNT_NAME` / `GCP_WORKLOAD_IDENTITY_PROVIDER_IDENTIFIER`. Those generic secrets are not populated for this workflow in merge queue, so `Authenticate to Google Artifact Registry` fails with empty inputs and the merge queue never reaches the E2E jobs. This change restores the original secret names in both GAR auth steps inside `.github/workflows/platform-e2e-tests.yml`.
Summary
On Pull Requests, and run that workflow on merge queue so required checks are produced for merge-group SHAsDocker Image Buildsto PR pushes and merge queue so both platform and MCP server base images must build successfullydocs/andplatform/changes such as OpenAPI/codegen updatesPlatform E2E Tests, triggered by therun-e2elabel, manual dispatch, and automatically on merge queueDocker Image Scanning, triggered automatically on merge queue or on demand with therun-docker-scanlabelPlatform Linting and Tests (Required)reusable workflowContext
The example run for PR #3704 was triggered by a PR title edit. Because title edits and labels shared the main PR workflow, GitHub created skipped check runs for unrelated jobs. The previous required reusable workflow also created fast-pass placeholder checks for Helm chart linting, Docker image scanning, and E2E jobs on normal PRs.
After this change, ordinary PR runs include real checks in
On Pull Requests: release freeze, license compliance, supply-chain policy, dependency review, platform lint/unit plus codegen/drizzle/migration validation, Docker image builds, and Helm chart linting/tests. The same workflow also listens tomerge_groupbecause merge queue requires required-check statuses on the temporary merge-group SHA. Dependency Review is PR-context-only, so that check passes explicitly on merge queue after having validated the PR before queueing.PR title linting remains separate because it must run on title edits. It also listens to
merge_groupwith a no-op pass step soPR Title Lintercan remain a required check when merge queue is enabled. Full E2E is its own first-class workflow that runs by label, by manual dispatch, or automatically through merge queue. Docker Scout scanning is also first-class but not paid on every PR push: it runs on merge queue or when a maintainer appliesrun-docker-scan; fork PR label events are filtered at the job level so secrets-backed scan work is not scheduled.Release-please PRs keep the old generated-file behavior: if
pnpm codegen && pnpm lint:fixchanges checked-indocs/orplatform/files, CI generates a GitHub App token, waits fordrizzle-kit check, commits the generated updates back to the release-please branch, and exits successfully so the follow-up push re-runs CI.Follow-up hardening
pnpm db:generatetimeout/prompt detection so interactive Drizzle rename prompts fail fast instead of hanging CIdocs/andplatform/docs/openapi.jsonversion bump in this branch intentionallyValidation
Docs