Skip to content

Enable split build feature on all workflows#1225

Merged
bob80905 merged 9 commits into
llvm:mainfrom
bob80905:regularly_test_splitbuild
Jun 8, 2026
Merged

Enable split build feature on all workflows#1225
bob80905 merged 9 commits into
llvm:mainfrom
bob80905:regularly_test_splitbuild

Conversation

@bob80905

@bob80905 bob80905 commented May 26, 2026

Copy link
Copy Markdown
Contributor

The infrastructure seems to be in place for github to split jobs into build and test jobs and distribute build jobs across compatible runners. This PR does a bit of quality improvement, but also actually enables the split build feature on all workflows.

Separately, this PR adds an sccache step so that we can track the hit rate, and ensures that clang is built in the build LLVM stage and not during the install step.

Assisted by: Github Copilot.
Manifests the implementation of: #1081

@bob80905 bob80905 changed the title Enable split build feature on a couple of NVidia targets Enable split build feature on a couple of Intel targets May 28, 2026
@bob80905 bob80905 changed the title Enable split build feature on a couple of Intel targets Enable split build feature on all workflows Jun 1, 2026
# available so we can't pip install -r requirements.txt. Keep
# this list in sync with OffloadTest/test/requirements.txt.
pip-install: lit pyyaml
- name: Install lit and pyyaml

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.

From here I can verify that the sccache step is running as expected.

But it seems like this step isn't and it still uses the user path?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Here is an example where this step runs:
https://github.com/llvm/offload-test-suite/actions/runs/26776253602/job/78937729286?pr=1225#step:8:138
I believe the linked pipeline you're looking at doesn't have the split build-feature enabled.
From what I can gather, the pipelines without my changes, triggered by PR matrix and configured as exec tests are run. And, the workflows I changed are individually run with the changes.
Execution Testing is the prefix for the unchanged runs, it looks like, and Windows is the prefix for the runs with my changes.

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.

I see thanks. Okay that makes more sense.

# track hit rate / cache size across runs and diagnose cold-cache
# blowups on new builders. Always-runs so we still get stats on
# build failure.
- name: sccache stats

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.

nit:

Suggested change
- name: sccache stats
- name: Dump sccache Stats

The names seem to be verbs and capitalized

# available so we can't pip install -r requirements.txt. Keep
# this list in sync with OffloadTest/test/requirements.txt.
pip-install: lit pyyaml
- name: Install lit and pyyaml

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.

I see thanks. Okay that makes more sense.

Comment thread .github/workflows/build-and-test-callable.yaml Outdated
Comment thread .github/workflows/build-and-test-callable.yaml
Comment thread .github/workflows/build-and-test-callable.yaml Outdated
@bob80905 bob80905 merged commit 9bc0142 into llvm:main Jun 8, 2026
76 of 114 checks passed
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.

4 participants