Observed
PR #2017 changes only docs/source/** and CHANGELOG.md. The changes job sets docs=true, and test-docs has the intended condition (docs == 'true' && narrow_python_only != 'true'), but the job is still skipped.
Cause: test-docs declares needs: [changes, python-lint-types, docs-latex-unicode-guard] (.github/workflows/ci.yml line ~2048). python-lint-types skips when no Python changed, and a skipped needs dependency skips the dependent job regardless of its if: unless the condition includes always() / !cancelled().
Result: docs-only PRs never run the Sphinx build in CI. The Read the Docs PR preview is the only build signal.
Fix options
- Add
!cancelled() && to the test-docs if: and check needs.python-lint-types.result is success or skipped, or
- drop
python-lint-types from needs for test-docs (the docs build does not depend on lint).
Found while opening #2017.
🤖 Generated with Claude Code
https://claude.ai/code/session_01WwMmVFo44ADiRRj5cxh7i1
Observed
PR #2017 changes only
docs/source/**andCHANGELOG.md. Thechangesjob setsdocs=true, andtest-docshas the intended condition (docs == 'true' && narrow_python_only != 'true'), but the job is still skipped.Cause:
test-docsdeclaresneeds: [changes, python-lint-types, docs-latex-unicode-guard](.github/workflows/ci.ymlline ~2048).python-lint-typesskips when no Python changed, and a skippedneedsdependency skips the dependent job regardless of itsif:unless the condition includesalways()/!cancelled().Result: docs-only PRs never run the Sphinx build in CI. The Read the Docs PR preview is the only build signal.
Fix options
!cancelled() &&to thetest-docsif:and checkneeds.python-lint-types.resultissuccessorskipped, orpython-lint-typesfromneedsfortest-docs(the docs build does not depend on lint).Found while opening #2017.
🤖 Generated with Claude Code
https://claude.ai/code/session_01WwMmVFo44ADiRRj5cxh7i1