ci: reduce pull request runner usage - #3261
Conversation
The repository now lives at apache/maka, so ASF Infra reads .asf.yaml from the default branch. Declare the repository metadata, merge policy, and branch protection that were previously unset, and route GitHub activity to commits@maka.apache.org so project activity is archived on the mailing list. Required status checks are omitted for now. On main today the CI jobs are gated on a path-filter job and report as skipped when unaffected, which GitHub treats as an unmet required context. #3261 collapses them into a single always-running CI / test gate that can be required once it lands. Generated-by: Claude Code
a7b2d7f to
d8f3d1a
Compare
The repository now lives at apache/maka, so ASF Infra reads .asf.yaml from the default branch. Declare the repository metadata, merge policy, and branch protection that were previously unset, and route GitHub activity to commits@maka.apache.org so project activity is archived on the mailing list. Every field is checked against the strictyaml schema in apache/infrastructure-asfyaml, which rejects the whole file on an unknown key. del_branch_on_merge uses the current github.pull_requests location rather than the legacy top-level one, which raises once any other pull_requests setting is added. Required status checks are omitted for now. On main today the CI jobs are gated on a path-filter job and report as skipped when unaffected, which GitHub treats as an unmet required context. #3261 collapses them into a single always-running CI / test gate that can be required once it lands. Generated-by: Claude Code
c4683a2 to
a2b7add
Compare
|
The consolidation itself looks sound, but there is one blocking integration issue before this leaves draft. This PR removes the standalone
Please align #3262 with the final workflow—most simply, require only I reviewed the consolidated test plan, Windows path filters, and CLI release path. I don’t see another issue that should block this PR. Removing the CLI validation |
ASF committers have no GitHub admin UI, so .asf.yaml is the only self-service path to repository settings. main currently has no branch protection at all and the repository carries no topics, so declare both here, along with the merge policy and Dependabot alerts that are already in effect. Require the test check. This has to merge after #3261, which folds lint, format, build, tsc and knip into the test job and removes the separate typecheck job. On main today test does not depend on typecheck, so requiring test alone leaves those checks unenforced, and requiring typecheck as well would block #3261 from ever satisfying it. Validated through the two-pass parse asfyaml actually performs: dirty_load, then as_yaml() and a schema-checked reparse. A folded description scalar is sensitive to that round trip. A comment indented at the same level is pulled into the scalar and silently appended to the repository description, and PyYAML does not reproduce this. Generated-by: Claude Code
|
Thanks for catching this. #3262 has since been updated to require only With that integration issue resolved and the checks green, I’m marking this PR ready for review. Posted with Codex assistance. |
a2b7add to
3698e29
Compare
Generated-by: Codex
3698e29 to
65aa623
Compare
M4n5ter
left a comment
There was a problem hiding this comment.
Re-reviewed the latest revision. The required-check mismatch is resolved, and I didn’t find any new issues on my side. LGTM.
|
This change qualifies for the repository's self-merge fast path: it is limited to CI configuration, addresses an active repository-wide blocker, has passed the required check, and is straightforward to revert. M4n5ter independently reviewed and approved the final revision. I have reviewed the final diff and commit message and am choosing the fast path as the human contributor of record. Any regression or subsequent community objection will be handled by reverting or adjusting the change. |
ASF committers have no GitHub admin UI, so .asf.yaml is the only self-service path to repository settings. main currently has no branch protection at all and the repository carries no topics, so declare both here, along with the merge policy and Dependabot alerts that are already in effect. Require the test check. Since #3261 landed, ci.yml runs a single test job on every pull request covering lint, format, build, tsc, knip, the selected workspace suites, e2e and Storybook, which makes it a complete and stable required context. Validated through the two-pass parse asfyaml actually performs: dirty_load, then as_yaml() and a schema-checked reparse. A folded description scalar is sensitive to that round trip. A comment indented at the same level is pulled into the scalar and silently appended to the repository description, and PyYAML does not reproduce this. Generated-by: Claude Code
Summary
Reduce automatic pull request runner starts to one stable core gate.
testjob.workflow_call; it no longer starts automatically for pull requests.mainpushes. Themainrun validates the exact merged delta because this repository does not currently require pull requests to stay up to date with the base branch.For this PR's own CI-sensitive diff, the automatic path changes from nine jobs to
CI / testonly. The tradeoff is less platform evidence on every pull request and less lane-level parallelism; the retained installed-package smoke covers the common CLI packaging failure mode without another runner.This does not add a new daily or weekly tier. The existing Windows nightly remains in place.
Fixes #3259
Verification
node --test --test-concurrency=1 scripts/ci-test-plan.test.mjs scripts/release-cli-workflow-policy.test.mjs(22 tests)npm run windows:inventory(3 tests; generated inventory current)actionlint .github/workflows/ci.yml .github/workflows/windows-baseline.yml .github/workflows/windows-recovery.yml .github/workflows/cli-package-validation.ymlnpm run format:checkgit diff --checknpm --userconfig=/dev/null run release:cli:pack && npm --userconfig=/dev/null run release:cli:smoke(clean isolated build, offline installed-package validation passed)Repository-wide tests and the Electron E2E suite were not run locally. The changed workflow will provide the selected CI evidence.
Discussion and rollout
The
dev@maka.apache.orgdiscussion remains open, and this PR is ready for concrete review. Do not merge while there are unresolved objections. If there are no objections after the stated 72-hour window, it can proceed under lazy consensus after human review of the final diff.The stable required check remains
CI / test. Live verification found no branch protection or repository ruleset that requires the removed platform job names.AI use
Select exactly one:
Tool(s) and scope: Codex analyzed runner usage, implemented and validated the workflow changes, and performed independent deep reviews. Claude Opus performed separate adversarial reviews. I reviewed the final diff, the validation evidence, and each accepted or rejected finding.
Checklist
Does this PR entail a change in behavior?