Skip to content

Build only required targets in each CI job - #8365

Merged
Max (maxtropets) merged 3 commits into
mainfrom
achamayou-a1-ci-target-selection
Sep 14, 2026
Merged

Max (maxtropets) merged 3 commits into
mainfrom
achamayou-a1-ci-target-selection

Conversation

@achamayou

@achamayou Amaury Chamayou (achamayou) commented Sep 12, 2026

Copy link
Copy Markdown
Member

Build only the targets consumed by each CI job, preserving all test selections and existing clang-tidy coverage. This PR targets main independently of #8362.

CI time savings

Job Build before -> after Build reduction Whole job before -> after Job reduction
Virtual A 7m56s -> 7m54s 0.4% 13m35s -> 13m32s 0.4%
Virtual B 3m05s -> 1m43s 44.3% 14m12s -> 12m45s 10.2%
Virtual C 3m04s -> 1m42s 44.6% 14m05s -> 12m33s 10.9%
SNP Milan 6m57s -> 3m19s 52.3% 13m44s -> 10m00s 27.2%
SNP Genoa 4m58s -> 2m30s 49.7% 11m31s -> 8m42s 24.5%

Across the four changed jobs: 49% less summed build time and 18% less summed job time. All five jobs passed, including partitions and both SNP platforms. Virtual A is unchanged; its small timing difference is run-to-run variation.

Build timings include configure; Virtual A's step also includes checks and clang-tidy. Whole-job timings include setup, tests and cleanup, but exclude queueing. Jobs run in parallel, so summed savings are not pipeline elapsed-time savings.

Single baseline/candidate comparison, measured with #8362's optimizations before this PR was rebased onto main.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@achamayou
Amaury Chamayou (achamayou) changed the base branch from achamayou-ci-build-performance to main September 13, 2026 08:06
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@achamayou
Amaury Chamayou (achamayou) marked this pull request as ready for review September 13, 2026 08:22
Copilot AI lite review requested due to automatic review settings September 13, 2026 08:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No unresolved review issues remain, and existing test coverage is preserved.

Pull request overview

This pull request reduces CI build work by compiling only targets consumed by each job while preserving test selections and clang-tidy coverage.

Changes:

  • Narrows Virtual B/C builds to required targets.
  • Narrows SNP builds to required tests, applications, and benchmarks.
  • Keeps Virtual A unchanged.
File summaries
File Description
.github/workflows/ci.yml Restricts Ninja builds to targets required by four CI jobs.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@maxtropets
Max (maxtropets) merged commit 076a663 into main Sep 14, 2026
13 checks passed
@maxtropets
Max (maxtropets) deleted the achamayou-a1-ci-target-selection branch September 14, 2026 08:11
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.

3 participants