Doc-only PRs (e.g., proposals in docs/) trigger the full CI matrix including
e2e tests, unit tests, and CodeQL analysis. This wastes CI time on checks that
cannot be affected by documentation changes.
For example, PR #1225 (a single markdown file in docs/proposals/) ran 30+ e2e
jobs across multiple Python versions and platforms, taking over 14 minutes on
the longest job.
Proposed fix
Add paths-ignore for docs/** to the following workflow files:
.github/workflows/test.yaml (unit and e2e tests)
.github/workflows/codeql.yaml (CodeQL analysis)
Leave .github/workflows/check.yaml unchanged since it runs the Sphinx docs
build, which validates that proposal files render correctly.
Context
Discussed with maintainers on Slack. Agreed that:
- Python tests (unit, e2e) don't need to run for doc-only changes
- CodeQL static analysis doesn't need to run for doc-only changes
- Sphinx build (in
check.yaml) should still run since proposals are part of the
official docs
Doc-only PRs (e.g., proposals in
docs/) trigger the full CI matrix includinge2e tests, unit tests, and CodeQL analysis. This wastes CI time on checks that
cannot be affected by documentation changes.
For example, PR #1225 (a single markdown file in
docs/proposals/) ran 30+ e2ejobs across multiple Python versions and platforms, taking over 14 minutes on
the longest job.
Proposed fix
Add
paths-ignorefordocs/**to the following workflow files:.github/workflows/test.yaml(unit and e2e tests).github/workflows/codeql.yaml(CodeQL analysis)Leave
.github/workflows/check.yamlunchanged since it runs the Sphinx docsbuild, which validates that proposal files render correctly.
Context
Discussed with maintainers on Slack. Agreed that:
check.yaml) should still run since proposals are part of theofficial docs