Skip to content

[CI] Scope PR builds to changed tasks only if applicable#781

Open
aobolensk wants to merge 1 commit into
learning-process:masterfrom
aobolensk:pr-scope-limit
Open

[CI] Scope PR builds to changed tasks only if applicable#781
aobolensk wants to merge 1 commit into
learning-process:masterfrom
aobolensk:pr-scope-limit

Conversation

@aobolensk
Copy link
Copy Markdown
Member

Run build for one student task only in 'pull_request' scope. All tests are being run on push event

Run build for one student task only in 'pull_request' scope. All tests are being run on push event
@aobolensk aobolensk requested a review from allnes as a code owner May 28, 2026 23:27
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5af68d5e20

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


def _task_from_path(path: str, tasks_root: Path) -> str | None:
parts = PurePosixPath(path).parts
if len(parts) < 3 or parts[0] != "tasks" or parts[1] == "common":
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Avoid scoping .clang-tidy changes to one task

When a PR changes a task-local config such as tasks/example_threads/tests/.clang-tidy, this accepts it as task-scoped and the static-analysis workflow configures CMake with only that task. However the existing clang-tidy action treats any .clang-tidy change as a request to analyze all source files (.github/actions/clang-tidy-native/action.yml lines 35-43), so files from other tasks will not have entries in the scoped compile_commands.json and clang-tidy can fail or run with incorrect fallback flags. Please force the full suite for .clang-tidy changes, or make the analysis file list use the same task scope.

Useful? React with 👍 / 👎.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.13%. Comparing base (3d7fb4c) to head (5af68d5).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #781   +/-   ##
=======================================
  Coverage   93.13%   93.13%           
=======================================
  Files          15       15           
  Lines         495      495           
  Branches      185      185           
=======================================
  Hits          461      461           
  Misses          1        1           
  Partials       33       33           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

packages: read

jobs:
ci-scope:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

static-analysis-pr.yml now depends on scripts/detect_ci_task_scope.py to decide the PPC_TASKS value used by the clang-tidy jobs, but that script is not listed in on.pull_request.paths. A PR that changes only this detector would skip the Static analysis workflow entirely, so regressions in CI scoping would not be validated. Please add scripts/detect_ci_task_scope.py to the workflow path filters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants