531 Commits

Author SHA1 Message Date
Baranov Victor
ef3ce0dcb2
[Github] Remove redundant 'START_REV', 'END_REV' env variables (NFC) (#154218)
After https://github.com/llvm/llvm-project/pull/133023, `START_REV` and
`END_REV` env variables became redundant.
2025-08-19 11:41:37 +03:00
Aiden Grossman
8a0b3cc089
[CI] Ignore upload artifact failures (#154196)
Some CI runs are seeing issues with failures running the artifact upload
step. They seem related to
https://github.com/actions/upload-artifact/issues/569. We should
continue the workflow and ignore errors in the upload artifact step if
it fails so that users do not see a red CI that is not due to their
changes.

Fixes #154155.
2025-08-18 14:10:23 -07:00
Aiden Grossman
6960bf556c
[Github] Drop llvm-project-tests
All users of this have been claned up so we can now drop it fully.

Reviewers: cmtice, tstellar

Reviewed By: cmtice

Pull Request: https://github.com/llvm/llvm-project/pull/153877
2025-08-18 10:20:31 -07:00
Aiden Grossman
2497864e09
[Github] Remove call to llvm-project-tests from libclang tests
This allows for removing llvm-project-tests.yml. This significantly
reduces the complexity of this workflow (including the complexity of
llvm-project-tests.yml) at the cost of a little bit of duplication with
the other workflows that were also using llvm-project-tests.yml.

Reviewers: tstellar, DeinAlptraum

Reviewed By: DeinAlptraum

Pull Request: https://github.com/llvm/llvm-project/pull/153876
2025-08-18 07:07:26 -07:00
Aiden Grossman
f8cd582534
[Github] Remove call to llvm-project-tests.yml from mlir-spirv-tests.yml
This will eventually allow for removing llvm-project-tests.yml. This
should significantly reduce the complexity of this workflow (including
the complexity of llvm-project-tests.yml) at the cost of a little bit of
duplication.

Reviewers: IgWod-IMG, kuhar

Reviewed By: kuhar

Pull Request: https://github.com/llvm/llvm-project/pull/153871
2025-08-18 07:05:39 -07:00
Aiden Grossman
1f5047e430
[Github] Remove call to llvm-project-tests.yml from spirv-tests.yml
This will eventually allow for removing llvm-project-tests.yml. This
should significantly reduce the complexity of these workflows at the
cost of a little bit of duplication standard to github actions.

Reviewers: michalpaszkowski, sudonatalie

Reviewed By: sudonatalie

Pull Request: https://github.com/llvm/llvm-project/pull/153869
2025-08-16 15:52:39 -07:00
Aiden Grossman
d0b19cf792 [Github][CI] Set CC and CXX in CI Container
We set these explicitly in a bunch of places. That is annoying and it is nice
to get them picked up by default rather than needing to remember.
2025-08-15 21:31:17 +00:00
Aiden Grossman
0b04168948
[CI] Add Basic Bazel Checks (#153740)
Having basic checks (like running buildifier) on the upstream bazel
files would be helpful for contributors maintaining the bazel build. Add
basic checks (currently just buildifier) to a workflow that runs
whenever the bazel build files change.
2025-08-15 08:30:07 -07:00
Aiden Grossman
ca44e11e00
[CI][Github] Bump actions/checkout to v5.0.0 (#153340)
https://github.com/actions/checkout/releases/tag/v5.0.0 was released a
couple of days ago (still new, sufficient bake time that there probably
is not a significant security issue). There are few changes, with the
most notable ones being dependency bumps, specifically the node version
bump to v24. This requires actions runner v2.327.1. I will land this
after all of the infrastructure has been moved over to the new runner
version.
2025-08-13 21:17:53 -07:00
Aiden Grossman
36d31b0c00 [CI][Github] Bump Github Runner Version to 2.328.0
Only some minor changes, but we might as well upgrade now.
2025-08-13 19:37:27 +00:00
Aiden Grossman
dfe18b1a0e
[libcxx] Bump clang version to v22 (#153264)
Clang tip of tree is now v22, so bump the versions based on that now
that we have an updated container image.

---------

Co-authored-by: Nikolas Klauser <nikolasklauser@berlin.de>
2025-08-13 09:26:42 +02:00
Aiden Grossman
7f4d201db4
[libcxx] Bump container image to 77cb098 (#153095)
Switch to the next runner set to evaluate switching the container image
to 77cb098.
2025-08-13 09:24:02 +02:00
Aiden Grossman
9ea1d39ead [CI][Github] Remove Outdated Comments
5fc3e76ec4f323c22cddf7b9458137510507847a made the pipelines fail on
errors and also removed the TODO comments, but did not remove the
explanatory comments on why things were set up that way. Given things no
longer succeed on error, these comments are outdated and should be
removed.
2025-08-08 15:59:15 +00:00
Davide Grohmann
3fa34f17e8
[mlir][spirv] Add mlir-spirv-tests CI to run for mlir-spv target tests (#152124)
This should execute also the MLIR SPIRV Target tests which require the
SPIRV-Tools validator

---------

Signed-off-by: Davide Grohmann <davide.grohmann@arm.com>
2025-08-07 10:51:32 -04:00
Aiden Grossman
d8c43e6236 [Github][CI] Add python-is-python3 to CI container
This patch adds the python-is-python3 package to the CI container.
Windows by default uses python instead of python3, which prevents
code sharing without additionaly hackery. This should fix that and
allow for #152199 to land.
2025-08-06 15:55:50 +00:00
Aiden Grossman
c9eff91ef1 [CI][Github] Only run CI Checks Workflow on Push for Main
Currently the check-ci workflow runs on the push event as well
regardless of the branch which means the workflow runs twice on stacked
PRs. Not a big deal, but a bit weird to see the same workflow running
twice in a PR.
2025-08-06 15:49:17 +00:00
Martin Storsjö
fe0d67b754
[libcxx] [ci] Update Clang on Windows (#152206)
Update clang-cl/LLVM to 20.1.8.

Update to llvm-mingw 20250709 (with also is built on LLVM 20.1.8). This
release of llvm-mingw is the first release to be built with PGO, making
it significantly faster for the CI runs (on par with the clang-cl
cases); running the current tests in around 1 h rather than 1 h 20 min.
2025-08-06 10:06:29 +03:00
Aiden Grossman
34c2ea326c
[libc][Github] Remove ccache variant logic (#152042)
https://github.com/hendrikmuhs/ccache-action/issues/279 has now been
resolved, so we can use sccache for the arm tests too and do not need to
differentiate between platforms.
2025-08-05 06:34:51 -07:00
Aiden Grossman
318d639ea1
[libc] Update clang to v22 in the fullbuild tests (#152039)
The apt repository has been updated so installing version 22 actually
works now.

Fixes #151215.
2025-08-04 15:24:20 -07:00
David Spickett
e8b7183d86
[llvm][release] Add links to commonly used release packages (#147719)
This adds download links to the GitHub release pages for common
platforms. The automatically built packages' links are automatically
revealed once the builds are complete. For packages built by hand,
hidden links are included in the text for release uploaders to reveal
later.

The approach taken:
* "LLVM x.y.z Release" becomes the title for this links section.
* Automatically built packages are commented out with special markers so
we can find them to uncomment them later.
* There is placeholder text for the time between release creation and
release tasks finishing.
* Hand built packages have release links but these will need to be
un-commented by release uploaders.
* I have used vendor names for the architectures, that casual users
would recognise.
* Their signature file is linked as well. I expect most will ignore this
but better to show it to remind people it exists.
* I called it "signature" as a generic term to cover the .jsonl and .sig
files. Instructions to use these were added to the text in a previous
change.
2025-07-29 12:35:15 +01:00
Konstantin Varlamov
3eee9fc2c4
[libc++][hardening] Introduce assertion semantics. (#149459)
Assertion semantics closely mimic C++26 Contracts evaluation semantics.
This brings our implementation closer in line with C++26 Library Hardening
(one particular benefit is that using the `observe` semantic makes adopting
hardening easier for projects).
2025-07-29 00:19:15 -07:00
Aiden Grossman
88389cce53 [CI][Github] Bump CI Container Runner to v2.327.1
This came out a couple days ago. Upgrading to be proactive.
2025-07-28 19:58:20 +00:00
Aiden Grossman
b33f9f64c7
[libcxx] Enable installing new runner binary on existing container
This patch does some refactoring to enable installing a new GHA runner binary
into an existing libcxx image. We achieve this by pushing the base image to the
registry and enabling control over the base image used for building the actions
image. This will always build and push both images even if an existing image is
being used for the actions image, but this should not impact anything as the
SHAs are pinned everywhere and space/build time is not a large concern.

Reviewers: ldionne, EricWF, #reviewers-libcxx

Reviewed By: ldionne

Pull Request: https://github.com/llvm/llvm-project/pull/148073
2025-07-28 12:35:40 -07:00
Krishna Pandey
6a45697fa6
[CI] Downgrade to clang-20 for libc fullbuild (#150246)
To be reverted when llvm-21 issues are resolved with the precommit CIs.
Signed-off-by: Krishna Pandey <kpandey81930@gmail.com>
2025-07-28 11:49:19 -04:00
Aiden Grossman
fd65b2097b
[Github][libcxx] Run Container Build Workflow on Stacked PRs (#150683)
Currently the container build workflow does not run on stacked PRs that
do not have a branch target of main because of how the workflow is
configured. This makes the workflow better confirm to the LLVM CI best
practices around Github workflows:


https://llvm.org/docs/CIBestPractices.html#ensuring-workflows-run-on-the-correct-events
2025-07-25 12:47:31 -07:00
Aiden Grossman
0f3c94a3d8
[CI] Remove ccache from Linux CI Container
This patch removes ccache from the Linux CI container. It is no longer
needed after migrating the monolithic-linux.sh script. The other two
upstream users of this container, namely the post commit static analyzer
and the llvm tests workflow both already use sccache.

Reviewers: tstellar, gburgessiv, dschuff, Keenuts, lnihlen, cmtice

Reviewed By: dschuff, Keenuts, cmtice

Pull Request: https://github.com/llvm/llvm-project/pull/149197
2025-07-25 08:38:13 -07:00
Aiden Grossman
965bb5d9f4
[Github] Use sparse checkout in release asset audit (#148646)
This patch makes the release asset audit script use a sparse checkout
given we only need two files. This should make the action quite a bit
more efficient as it is presumably currently bottlenecked by checking
out the entire monorepo.
2025-07-25 07:40:04 -07:00
Aiden Grossman
bcfd29418f
[CI][Github] Set SCCACHE_IDLE_TIMEOUT to 0 (#150508)
This patch sets the sccache idle timeout to zero which ensures that it
will run indefinitely. Without this, sccache will sometimes stop when
several long test suites get run consequitively. This resets the
statistics which we save at the end. Ensuring the process stays running
means we have accurate statistics when we collect them at the end.
2025-07-24 15:11:24 -07:00
Aiden Grossman
c12dfd5195
[CI] Add unittesting for metrics collection script
This patch adds some initial unittests for the metrics collection
script. This initial patch focuses on getting the files setup and adding
unittests for uploading metrics. A subsequent patch will add tests for
the workflow collection which is significantly more complicated.

Reviewers: Keenuts, gburgessiv, dschuff, cmtice, lnihlen

Reviewed By: cmtice

Pull Request: https://github.com/llvm/llvm-project/pull/150360
2025-07-24 12:25:31 -07:00
Aiden Grossman
74505806b6 [CI][Github] Bump runner version in CI containers
v2.327.0 is the latest version. Bump the version in the containers to
keep them up to date.
2025-07-24 14:23:46 +00:00
Aiden Grossman
675d7e19a7
[CI][Github] Add Workflow to Run Python Tests in CI Folder (#148696)
This patch adds a new GHA workflow that runs pytest inside of the .ci
directory to test all of the CI infrastructure. This is to make it more
visible to new contributors that these tests exist and also to ensure
that they are passing before merge. There have been several instances
already where someone neglected to update these tests and we should have
automation to enforce this.
2025-07-24 06:27:59 -07:00
Aiden Grossman
796f551244
[CI] Enable Windows Caching Through Sccache GCS (#150114)
Same as 921287e126465d6850954855ded640f0f78d72fd but for Windows.
2025-07-22 15:53:52 -07:00
Aiden Grossman
921287e126
[CI] Enable sccache GCS on Linux premerge (#149923)
This patch enables sccache using GCS for Linux premerge.
2025-07-22 13:31:25 -07:00
Aiden Grossman
7b541c931e
[Github] Build CI Containers in Stacked PRs (#149346)
Currently the pull_request event on the build CI container workflows are
restricted to main. This prevents building them on stacked PRs. This is
a bit annoying because we do not get the CI to test that everything is
working until all of the base PRs have landed and the target branch
becomes main.
2025-07-18 07:06:49 -07:00
Andy Kaylor
afff28e4cb
[CI][Github] Enable CIR CI build and test (#147430)
This change modifies CI scripts to add a pseudo-project for CIR and
detect when CIR-specific files are modified. It also enables building
clang with CIR enabled whenever both the clang and mlir projects are
being built.

Building and testing CIR is only enabled on Linux at this time, as CIR
doesn't properly support Windows or MacOS yet.
2025-07-17 11:17:52 -07:00
Aiden Grossman
fcb7ed69d0
[CI][Github] Use newer sccache version in CI container
I was having trouble with the version that ships in the ubuntu apt repository
and GCS based caching. The newer version works, so reintroduce the infra that
we had in 2c1d4b0404187f0162d3b2df64dae062e53c3c79 to download it.

Reviewers: tstellar, lnihlen, gburgessiv, dschuff, cmtice, Keenuts

Reviewed By: cmtice, Keenuts

Pull Request: https://github.com/llvm/llvm-project/pull/149196
2025-07-17 10:15:11 -07:00
Aiden Grossman
871d65bfdd
[CI] Migrate monolithic-linux script to sccache
This is in preparation for migrating to Google Cloud Storage (GCS) based
caching soon which is only supported by sccache.

Reviewers: Keenuts, gburgessiv, dschuff, lnihlen, cmtice

Reviewed By: cmtice

Pull Request: https://github.com/llvm/llvm-project/pull/149195
2025-07-17 10:13:43 -07:00
Udit Kumar Agarwal
7caa0c9a55
Revert "[CI] Make email check workflow fail when author's email is private in Github UI" (#149186)
Reverts llvm/llvm-project#148694

The workflow is failing if user's email is not listed publicly on your
GH profile. This is different from not having your email public on
Github (in Github email settings page vs. email field in Github
profile/email settings).
2025-07-16 21:02:51 +00:00
Udit Kumar Agarwal
0f0305021c
[CI] Make email check workflow fail when author's email is private in Github UI (#148694)
**Problem**
Currently, the email check workflow uses `git` to see email used for the
last commit but the email address used when merging is actually governed
by GitHub settings not what's stored in `git`. Due to this, the email
check workflow passes even when the author's email is private in Github.
We saw several such cases in our fork of llvm. See
https://github.com/intel/llvm/issues/17675

**Solution**
Try to find user's email using GH's GraphQL APIs. User's email will be
null if it's hidden in the profile.

---------

Signed-off-by: Agarwal, Udit <udit.agarwal@intel.com>
2025-07-16 17:12:58 +00:00
Jannick Kremer
7a9bef0166
Revert "Move python binding tests to lit framework" (#149012)
This reverts commit f8707f994af2582f6dc58190106946efeb43bf05.
2025-07-16 05:32:08 +01:00
Aiden Grossman
3248a6d76a
[CI][Github] Switch windows to server 2022 (#148743)
This patch switches the windows testing over to server 2022 by switching
to the recently introduced runner set.
2025-07-15 08:10:47 -07:00
Jannick Kremer
ec149d5ef8
[clang][python][test] Move python binding tests to lit framework (#148802)
As discussed in PR #142353, the current testsuite of the `clang` Python
bindings has several issues:

- It `libclang.so` cannot be loaded into `python` to run the testsuite,
the whole `ninja check-all` aborts.
- The result of running the testsuite isn't report like the `lit`-based
tests, rendering them almost invisible.
- The testsuite is disabled in a non-obvious way (`RUN_PYTHON_TESTS`) in
`tests/CMakeLists.txt`, which again doesn't show up in the test results.

All these issues can be avoided by integrating the Python bindings tests
with `lit`, which is what this patch does:

- The actual test lives in `clang/test/bindings/python/bindings.sh` and
is run by `lit`.
- The current `clang/bindings/python/tests` directory (minus the
now-subperfluous `CMakeLists.txt`) is moved into the same directory.
- The check if `libclang` is loadable (originally from PR #142353) is
now handled via a new `lit` feature, `libclang-loadable`.
- The various ways to disable the tests have been turned into `XFAIL`s
as appropriate. This isn't complete and not completely tested yet.

Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.

Co-authored-by: Rainer Orth <ro@gcc.gnu.org>
2025-07-15 12:48:24 +02:00
Nikolas Klauser
339a1f2e8f
Revert "[libc++][hardening] Introduce assertion semantics" (#148822)
Reverts llvm/llvm-project#148268

It looks like this was based on #148266, which I reverted in #148787.
2025-07-15 12:43:37 +02:00
Konstantin Varlamov
7345508c6f
[libc++][hardening] Introduce assertion semantics (#148268)
Assertion semantics closely mimic C++26 Contracts evaluation semantics.
This brings our implementation closer in line with C++26 Library
Hardening (one particular benefit is that using the `observe` semantic
makes adopting hardening easier for projects).
2025-07-15 02:14:30 -07:00
Aiden Grossman
968b2389ce
[CI][Github] Version pin packages in windows container
I spent several hours debugging failures in the server 2022 container
today that turned out to be related to a new ninja release from a couple
weeks ago. This patch version pins all the packages so they do not
spuriously upgrade and we can control the process to waste less effort
debugging changes due to version changes.

Reviewers: cmtice, tstellar, lnihlen

Reviewed By: cmtice

Pull Request: https://github.com/llvm/llvm-project/pull/148319
2025-07-14 10:46:06 -07:00
Aiden Grossman
3e43915be6
[CI][Github] Bump Windows Container to Server 2022
This patch bumps the windows CI container to windows server 2022 from
windows server 2019. This is necessary as Github has sunsetted support
for sever 2019, so we cannot build the container through GHA without
updating. Using more recent versions is just good practice anyways.

This will not roll out immediately and we'll have to make some TF
changes to get deployed, but some additional validation first will be
good anyways.

Reviewers: lnihlen, tstellar, cmtice

Reviewed By: cmtice

Pull Request: https://github.com/llvm/llvm-project/pull/148318
2025-07-14 08:24:54 -07:00
Aiden Grossman
a386d0e13f
[Github] Bump CI Container to 20.1.8 (#148104)
This patch bumps the LLVM toolchain version within the CI container to
20.1.8.
2025-07-11 07:25:46 -07:00
Owen Pan
b01ef20c5b
[GitHub][workflows] Use latest clang-format version 20.1.8 (#148099) 2025-07-10 22:26:33 -07:00
Matheus Izvekov
8a7c973f64
[ci] premerge: upload artifacts even on failure (#147999)
This makes sure we upload the artifacts even if the previous step
failed.

This is helpful because we wish to upload crash reproducers, which the
scritps are already prepared to do.

Example:
https://github.com/llvm/llvm-project/actions/runs/16180778101/job/45676677544?pr=147835
2025-07-10 15:10:12 -03:00
cmtice
582cfb142c
[libc++] Switch over to the LLVM-wide premerge test runners. (#147794)
Update the premerge testing system to use the LLVM-wide premerge
infrastructure. Also remove libcxx-restart-preempted-jobs.yaml, as this
should no longer be needed.
2025-07-10 10:34:01 -07:00