Skip to content

Make sure all matrix options are run in libc premerge testing #146162

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

amykhuang
Copy link
Collaborator

@amykhuang amykhuang commented Jun 27, 2025

#126315 changes the premerge testing to build in Debug, Release, and MinSizeRel configs, as opposed to only MinSizeRel, but for some reason the matrix is not returning all options now. Fix so that it actually builds the intended configs.

Per discussion in 146161, only test all three configs on Linux x86_64. Other OS's and configurations will build in Debug mode only.

Also fix a cmake variable and remove outdated comments.

Bug: #146161

@llvmbot
Copy link
Member

llvmbot commented Jun 27, 2025

@llvm/pr-subscribers-github-workflow

Author: Amy Huang (amykhuang)

Changes

#126315 changes the premerge testing to build in Debug, Release, and MinSizeRel configs, as opposed to only MinSizeRel, but for some reason the matrix is not returning all options now. Fix so that it builds all three configs in all OS options.

Bug: #146161


Full diff: https://github.com/llvm/llvm-project/pull/146162.diff

2 Files Affected:

  • (modified) .github/workflows/libc-fullbuild-tests.yml (+1)
  • (modified) .github/workflows/libc-overlay-tests.yml (+1)
diff --git a/.github/workflows/libc-fullbuild-tests.yml b/.github/workflows/libc-fullbuild-tests.yml
index 24d75f58d45e0..35d31e38979b8 100644
--- a/.github/workflows/libc-fullbuild-tests.yml
+++ b/.github/workflows/libc-fullbuild-tests.yml
@@ -16,6 +16,7 @@ jobs:
       fail-fast: false
       matrix:
         build_type: [Debug, Release, MinSizeRel]
+        os: [ubuntu-24.04, ubuntu-24.04-arm]
         include:
           - os: ubuntu-24.04
             ccache-variant: sccache
diff --git a/.github/workflows/libc-overlay-tests.yml b/.github/workflows/libc-overlay-tests.yml
index da82d8d9fe8ab..a4958fbbeb58f 100644
--- a/.github/workflows/libc-overlay-tests.yml
+++ b/.github/workflows/libc-overlay-tests.yml
@@ -17,6 +17,7 @@ jobs:
       fail-fast: false
       matrix:
         build_type: [Debug, Release, MinSizeRel]
+        os: [ubuntu-24.04, ubuntu-24.04-arm, windows-2022, windows-2025, macos-14]
         include:
           # TODO: add linux gcc when it is fixed
           - os: ubuntu-24.04

Copy link
Contributor

@boomanaiden154 boomanaiden154 left a comment

Choose a reason for hiding this comment

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

If we want to just land this as a stop-gap without being more principled about the configurations we're testing, we might want to hold off until we've moved over to Github Enterprise. This workflow now uses 25 jobs out of our maximum concurrent of 60, and given lots of other things that are expected to normally be pretty quick (issue labelling) also count against the cap and will queue, this might degrade the UX a bit.

@petrhosek
Copy link
Member

We want to keep at least one build configuration that uses Release mode. That was actually the main motivation behind #126315, see #126322.

@amykhuang
Copy link
Collaborator Author

Ok, now we should be building 10 configurations as opposed to 6 before, which seems like an acceptable amount of increase -- for overlay mode it's testing every available OS in Debug; for fullbuild it's testing Linux x86 in Debug/Release/MinSizeRel on, linux aarch64 in Debug, and linux uefi in Debug.

Technically we could remove the linux x86 overlay mode build because it's in the other Linux premerge build but I think we can figure out overlaps in a different change.

@amykhuang
Copy link
Collaborator Author

It does seem to be taking a lot longer now to complete all the Linux runs, presumably because there are now four builds running with the same Linux config.

@amykhuang
Copy link
Collaborator Author

@boomanaiden154 is there any context for putting the linux (and maybe windows) runs on the google machines vs the github ones? (I also don't have context about the github enterprise move and what that means for buildbots)

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.

4 participants