-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[libc][workflow] improve ci coverage with windows-2025 and arm ubuntu #123745
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
[libc][workflow] improve ci coverage with windows-2025 and arm ubuntu #123745
Conversation
@llvm/pr-subscribers-github-workflow Author: Schrodinger ZHU Yifan (SchrodingerZhu) ChangesAdd the following workflows:
Full diff: https://github.com/llvm/llvm-project/pull/123745.diff 2 Files Affected:
diff --git a/.github/workflows/libc-fullbuild-tests.yml b/.github/workflows/libc-fullbuild-tests.yml
index 58e15ce29546ef..1db69665ae186d 100644
--- a/.github/workflows/libc-fullbuild-tests.yml
+++ b/.github/workflows/libc-fullbuild-tests.yml
@@ -11,12 +11,16 @@ on:
jobs:
build:
- runs-on: ubuntu-24.04
+ runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- - c_compiler: clang
+ - os: ubuntu-24.04
+ c_compiler: clang
+ cpp_compiler: clang++
+ - os: ubuntu-24.04-arm
+ c_compiler: clang
cpp_compiler: clang++
# TODO: add back gcc build when it is fixed
# - c_compiler: gcc
diff --git a/.github/workflows/libc-overlay-tests.yml b/.github/workflows/libc-overlay-tests.yml
index 8b59d76aed4a88..62c99742f7a6cc 100644
--- a/.github/workflows/libc-overlay-tests.yml
+++ b/.github/workflows/libc-overlay-tests.yml
@@ -22,10 +22,18 @@ jobs:
compiler:
c_compiler: clang
cpp_compiler: clang++
+ - os: ubuntu-24.04-arm
+ compiler:
+ c_compiler: clang
+ cpp_compiler: clang++
- os: windows-2022
compiler:
c_compiler: clang-cl
cpp_compiler: clang-cl
+ - os: windows-2025
+ compiler:
+ c_compiler: clang-cl
+ cpp_compiler: clang-cl
- os: macos-14
compiler:
c_compiler: clang
|
2b2bc84
to
d26214b
Compare
Can you take a look at (macos-14, clang, clang++) failures? |
Switched to |
@SchrodingerZhu Looks good in general. I don't know much about libc, though. |
@tstellar thanks! I will also be waiting for @lntue, @boomanaiden154 and others' feedback then. |
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- c_compiler: clang | ||
- os: ubuntu-24.04 | ||
ccache-variant: sccache |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why use sccache
for this, but ccache
for the arm variant?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sccache
is a modern implementation from Mozilla, it supports more storage format and compiler (e.g. msvc/clang-cl
). I prefer to default on sccache
but due to hendrikmuhs/ccache-action#279, ccache
is used on arm64 ubuntu.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a comment linking to that issue in the yml file. I assume it will be resolved some day, so if someone notices that in the future, it would be good to then resolve the arm specific differences.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems reasonable enough to me.
We need to be a bit careful with how many jobs run at once, but from what I've seen the libc jobs are reasonably fast, so shouldn't be a big issue. I'm not too sure how the new ARM runners counter against the limits though (their own lower limit? the general linux limit?).
Once the new premerge is spun up, I would like to reevaluate what configurations we're testing here too. We definitely can't test all the new configurations in the monorepo-wide premerge pipeline, but we do want to test a "standard" build on Linux (and windows if reasonable), and it would be good to not duplicate that with what's being done here.
Merge this according to previous approval. New updates are trivial TODO lines. |
Add the following workflows:
fullbuild
on aarch64 ubuntuoverlay
on windows 2025overlay
on aarch64 ubuntuccache
variant is used onaarch64
due to hendrikmuhs/ccache-action#279