Skip to content

fix(ci): skip docs-only changes for ci and CodeQL workflows - #141

Merged
seonghobae merged 1 commit into
mainfrom
chore/paths-ignore-fix
Sep 3, 2026
Merged

fix(ci): skip docs-only changes for ci and CodeQL workflows#141
seonghobae merged 1 commit into
mainfrom
chore/paths-ignore-fix

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

What

Adds paths-ignore: ["docs/**", "*.md"] to both the push and pull_request triggers of .github/workflows/ci.yml and .github/workflows/codeql.yml.

Why

An org-wide audit found these workflows lack a paths-ignore filter, so every push/PR — including docs-only changes — triggers a full CI run (Python tests, realm-config validation, docker-compose validation, and a CodeQL scan). This is contributing to org-wide GitHub Actions queue congestion across ContextualWisdomLab repos (the 60-concurrent-job plan ceiling means every unnecessary job run delays everyone else's queue).

Safety check performed

  • main has no branch protection (GET .../branches/main/protection -> 404) and no classic required status-check contexts, so no named check depends on these workflows always running.
  • The one active ruleset (CWL Central required workflows, id 18156473) requires a fixed list of central workflow files (opencode-review.yml, pr-review-merge-scheduler.yml, security-scan.yml, strix.yml, sast-semgrep.yml, noema-review.yml, codeql-pr.yml, scorecard-pr.yml, osv-scanner-pr.yml, close-empty-pr.yml) via its workflows rule type. ci.yml and codeql.yml (this repo's own workflows) are not in that list, so this change does not touch anything the ruleset enforces.
  • Neither file already had a paths-ignore/paths filter (verified by reading both files before editing).

🤖 Generated with Claude Code


Devin Review

Summary by CodeRabbit

  • 변경 사항
    • 문서 및 마크다운 파일만 변경된 경우 CI 검사가 실행되지 않습니다.
    • 문서 및 마크다운 파일만 변경된 경우 CodeQL 보안 분석이 실행되지 않습니다.
    • 그 외 파일 변경 시에는 기존과 같이 관련 검사가 실행됩니다.

Org-wide audit found these workflows lack paths-ignore, triggering full CI on every docs-only push/PR and adding to Actions queue congestion.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@seonghobae
seonghobae merged commit 55614b0 into main Sep 3, 2026
17 of 22 checks passed
@seonghobae
seonghobae deleted the chore/paths-ignore-fix branch September 3, 2026 03:04

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 3 potential issues.

Devin Review

Comment thread .github/workflows/ci.yml
Comment on lines +6 to +8
paths-ignore:
- "docs/**"
- "*.md"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Documentation contracts lose validation

When a pull request changes only contract documents, paths-ignore suppresses the sole job validating their invariants. Broken documentation contracts can merge undetected.

Prompt for agents
The CI workflow contains tests/test_documentation_contract.py, which validates files covered by docs/** and *.md. The pull_request and push paths-ignore filters now suppress that test precisely when a documentation-only change can break those contracts. Keep CodeQL skipped for documentation-only changes, but preserve a lightweight documentation-contract check for those changes. This can be done by narrowing the CI exclusion, splitting documentation validation into a separate workflow/job with appropriate path triggers, or otherwise ensuring the contract test runs on documentation-only pull requests and pushes.
Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread .github/workflows/ci.yml
branches: [main]
paths-ignore:
- "docs/**"
- "*.md"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Nested documentation still triggers workflows

Markdown outside the root and docs/ does not match *.md. Deployment and service guide changes still launch both workflows.

Prompt for agents
Both .github/workflows/ci.yml and .github/workflows/codeql.yml use *.md, which does not cover nested Markdown guides such as deploy/keycloak/README.md, deploy/templates/README.md, and services/account_unification/README.md. Use a recursive Markdown glob in every filter intended to skip all documentation. Account for the separate documentation-contract requirement in ci.yml rather than suppressing that validation.
Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread .github/workflows/ci.yml
Comment on lines +6 to +12
paths-ignore:
- "docs/**"
- "*.md"
pull_request:
paths-ignore:
- "docs/**"
- "*.md"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Exact-head policy needs reconciliation

Documentation-only heads no longer receive local CI or CodeQL evidence. Repository guidance still presents both as universal exact-head gates.

Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: f0f417a5-6205-4b4c-b901-565214f68e61

📥 Commits

Reviewing files that changed from the base of the PR and between d8ff4ed and 8c06fe4.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml
  • .github/workflows/codeql.yml

📝 Walkthrough

Walkthrough

CI와 CodeQL 워크플로의 push 및 pull_request 트리거에 문서 경로 제외 조건을 추가했습니다. 문서만 변경되면 두 워크플로가 실행되지 않습니다.

Changes

워크플로 트리거 필터링

Layer / File(s) Summary
문서 경로 제외 조건 추가
.github/workflows/ci.yml, .github/workflows/codeql.yml
두 워크플로의 pushpull_request 트리거에 docs/***.md를 제외하는 paths-ignore를 추가했습니다.

Estimated code review effort: 1 (Trivial) | ~5 minutes

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/paths-ignore-fix

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

seonghobae added a commit that referenced this pull request Sep 3, 2026
…es to protect documentation contracts (#142)

tests/test_documentation_contract.py reads doc content and asserts required text; #141's paths-ignore on ci.yml made that job skip on docs-only changes, silently defeating it. Reverts ci.yml's paths-ignore (codeql.yml left as-is). See PR body for full analysis and verification.
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