973 Commits

Author SHA1 Message Date
Louis Dionne
fe07678c1f
[libc++] Switch CI runners to use the latest Docker image (#190363) 2026-04-06 18:43:30 -04:00
lntue
3d359887c4
[libc] Add powerpc64le to libc-shared-tests precommit CI. (#190096) 2026-04-02 09:58:26 -04:00
Guray Ozen
c1b1a71783
[MLIR][NVVM] Add label for nvvm (#188216) 2026-03-31 12:01:11 +02:00
Louis Dionne
2cff8d52b7
[libc++] Don't upload Docker image tarballs as artifacts (#188845)
These steps fail because the tarballs are too large, so we might as well
just not do it.
2026-03-30 10:05:33 -04:00
lntue
0027f6fe9a
[libc][ci] Add libc-shared-test CI for MSVC and QEMU for several archs. (#188553)
Includes:
- MSVC: x86, x64, arm64
- QEMU: aarch64, riscv64
2026-03-26 20:10:23 -04:00
Carlo Cabrera
a90f583e7a
[Workflows] Add Zizmor check (#187905)
The recent Trivy breach[^1] made me consider re-opening #117787.

Trivy was breached using an impostor commit[^2], which Zizmor can flag.

It's also much more widely used since my last PR.[^3]

The new workflow was taken from the example workflow in their
documentation.[^4]

[^1]: https://github.com/aquasecurity/trivy/discussions/10425
[^2]: https://docs.zizmor.sh/audits/#impostor-commit
[^3]: https://docs.zizmor.sh/trophy-case/
[^4]: https://docs.zizmor.sh/integrations/#via-zizmorcorezizmor-action
2026-03-23 22:42:12 +08:00
Carlo Cabrera
bd46a7d172
[Workflows] Set persist-credentials (#187951)
This is needed for #187905. Unless we disable the check, Zizmor will
flag uses of `actions/checkout` without an explicit
`persist-credentials` setting.

Of course, some workflows could rely on the credentials persisted by
`actions/checkout`. I asked Claude to check each affected job, and it
flagged only `prune-branches.yml`. The script `prune-unused-branches.py`
relies on the persisted credentials, so I've left that as
`persist-credentials: true` for now.
2026-03-23 22:41:20 +08:00
Aiden Grossman
ca3d04561b
[llubi][Github] Add llubi labelling support (#187877)
So that one can easily subscribe to llubi PRs which are currently not
labelled at all.
2026-03-22 11:01:45 -07:00
Andrzej Warzyński
facc82de4f
[clang][cir] Adding myself in CODEOWNERS for CIRGenBuiltinAArch64.cpp (#187570)
This is to help with #185382 and to make sure that I don't miss any PRs.
2026-03-20 07:56:53 +00:00
Igor Wodiany
e7e45cdcec
[spirv][mlir] Add myself to CODEOWNERS (#187115) 2026-03-17 16:49:58 -04:00
Victor Campos
6655312776
[libc] Build fuzzing tests in pre-merge CI tests (#185018)
At the moment, no CI job tests whether the fuzzing tests build
correctly.

This patch adds the build of fuzzing tests to the pre-merge CI job.

Only two configurations have it enabled for now. The none-eabi
configurations seemingly do not support it because in their cmake
configs compiler-rt is not enabled, hence libFuzzer isn't built. I did
not dig too much to understand why that is, preferring to just leave it
disabled for these configurations. For the remaining ones that seem to
support it, I selected one x86 and one aarch64.

In addition, it removes one outdated comment about the build type used
and changes the action to run on all branches, not only on PRs that
target main.

If we limit it to run only on PRs to the main branch, it will not run on
stacked PRs. I believe it is also okay to run it on PRs to release
branches. Therefore it is just easier to remove the limit altogether.
2026-03-16 16:02:57 -04:00
Mend Renovate
ee90cae66e
Update docker/login-action action to v4 (#186719)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/login-action](https://redirect.github.com/docker/login-action)
| action | major | `v3.6.0` → `v4.0.0` |
2026-03-16 06:37:59 -07:00
Aiden Grossman
8abce0a63c
[libc][Github] Bump libc-fullbuild-tests.yml to clang 23 (#186699)
Do this now that it is available in the container.
2026-03-16 06:20:58 -07:00
Aiden Grossman
562f519c15
[libc][Github] Bump clang in libc container to v23 (#186697)
Back to HEAD now that apt.llvm.org is working again for ToT.
2026-03-15 19:48:28 +00:00
Mend Renovate
bc5ac5f3eb
Update GitHub Artifact Actions (major) (#184052)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/download-artifact](https://redirect.github.com/actions/download-artifact)
| action | major | `v7.0.0` → `v8.0.1` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `v6.0.0` → `v7.0.0` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `6.0.0` → `7.0.0` |
2026-03-15 10:22:07 -07:00
Minsoo Choo
e3bb71c924
[lldb][FreeBSD] Add myself to CODEOWNERS (#180052)
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
2026-03-13 21:29:41 -04:00
Balázs Benics
7ccddd12d7
[Github] Add SSAF label for clang/test/Analysis/Scalable/** changes (#186440) 2026-03-13 16:30:28 +00:00
Balázs Benics
fcd230adc6
[clang][ssaf][NFC] Move SSAF from Analysis/Scalable/ to ScalableStaticAnalysisFramework/ (#186156)
- Rename `clang/{include,lib,unittests}/Analysis/Scalable/` to
`clang/{include,lib,unittests}/ScalableStaticAnalysisFramework/Core/`
- Update header-guards with their new paths
- Rename the library `clangAnalysisScalable` to
`clangScalableStaticAnalysisFrameworkCore`
- Add a new `Clang_ScalableStaticAnalysisFramework` module to
`module.modulemap`
- Update GN build files, GitHub PR labeler, and documentation
- Harmonise license comments
- Add a missing header-guard
2026-03-13 11:50:07 +00:00
Jacob Lambert
23e4914816
[NFC] Add default code reviewers for some AMDGPU-related files (#185942) 2026-03-12 23:30:39 -07:00
Dimitrij Mijoski
1616fbaccf
[libc++] Fix checks for terminal and flushes in std::print() (#70321)
The check whether a stream is associated with a terminal or not and the
flushing of the stream in `std::print()` is needed only on Windows.
Additionally, the correct flush should be used. When `std::print` is
called with a C stream, `std::fflush()` should be used. When it is
called with C++ `ostream`, `ostream::flush()` should be called.

Because POSIX does not have a separate Unicode API for terminal output,
checking for terminal (`isatty`) and flushing is not needed at all.
Moreover, `isatty` has noticeable performance cost.

See also https://wg21.link/LWG4044.

Fixes #70142
2026-03-12 10:58:36 +01:00
Nikolas Klauser
18b70cebc9
[libc++] Switch to the new docker image in the CI (#185843)
This also simplifies the workflow file a bit and removes a redundant
`generic-cxx26` configuration in stage 3.
2026-03-11 17:09:44 +01:00
Nick Sarnie
2b4a5d398f
[CI][libsycl] Add libsycl precommit testing job (#184174)
We want to add some basic precommit CI for `libsycl`, similar to what we
have for `SPIR-V`.

Here it just builds `libsycl` and runs `check-sycl`, but only non-GPU
tests will be run because this job is run on GitHub-hosted runners which
don't have a GPU, so we will never run GPU tests in this CI job.
Postcommit already runs SYCL GPU tests.

We have runtime GPU detection as part of the `check-sycl` lit setup so
everything works fine.

Currently there is only one `check-sycl` test at all and it is a GPU
test, so `check-sycl` is basically a no op, so this is de-facto build
only.

---------

Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>
2026-03-06 15:19:09 +00:00
Nikita Popov
c123642824
[CI] Install binutils-dev in pre-merge container (#184608)
This is to get the plugin-api.h file, to allow running tests for the
gold plugin.
2026-03-04 15:57:56 +01:00
Aiden Grossman
4b06e83885
[Github][CI] Bump CI containers to LLVM v22.1.0 (#184375) 2026-03-03 12:26:02 -08:00
Aiden Grossman
640ba7b05e
[Github] Bump clang-format/clang-tidy to v22.1.0 (#184374)
Per the version policy for these tools to bump them at the beginning of
the release cycle and at the end of the release cycle.
2026-03-03 08:58:23 -08:00
Nick Sarnie
e68f696fda
[CI][SPIRV][NFC] Remove unneccessary mkdir from workflow (#184353)
The `CMake` command does the `mkdir` automatically.

Pointed out in https://github.com/llvm/llvm-project/pull/184174

Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>
2026-03-03 16:04:47 +00:00
Aiden Grossman
92aa2d36f0
[Github] Respect LLVM_VERSION when building windows container (#184231)
Otherwise setting LLVM_VERSION does not actually do anything. This
avoids needing to update ~8 different locations in the file when doing a
toolchain bump to just 1 place.
2026-03-02 17:17:06 -08:00
Aiden Grossman
52f32d780f
[Github] Bump Github Runner to v2.332.0 (#184230)
To stay ahead of the support horizon. There were no major feature
changes/bug fixes from a cursory glance at the release notes.
2026-03-03 01:15:37 +00:00
Aiden Grossman
4995b2b859
[Github] Enable long paths in windows CI Container (#184224)
Otherwise we run into issues with file paths >260 characters. This was
preventing us from updating the Windows container as last time we built
the container it came with a MSVC supplied CMake update, which used
absolute paths in more places, bumping us over the limit.

https://github.com/ninja-build/ninja/issues/2400
https://gitlab.kitware.com/cmake/cmake/-/issues/22435
2026-03-02 13:58:56 -08:00
Jordan Rupprecht
895597a1f5
[Github][bazel] Run buildifier --mode=diff on error (#184233)
Displaying the diff helps point to what the issue is, including if it's
even related to the change at all.

This also expands the pattern to some other files that don't match
`*BUILD*`, e.g. `*.bzl` files.

Example failure:
https://github.com/llvm/llvm-project/actions/runs/22595929783/job/65465781106
2026-03-02 15:38:06 -06:00
Aiden Grossman
61310cd72d [Github] Remove force build from windows container
This did not actually bump the LLVM version (see fixes in #184231) and
will not be necessary now that other patches will be going in forcing a
rebuild anyways.
2026-03-02 21:19:44 +00:00
Aiden Grossman
52a9eb37db [Github] Add TODO around actions/attest 2026-03-02 03:00:19 +00:00
Mend Renovate
8fff1c042d
Update actions/attest-build-provenance action to v4 (#184051)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance)
| action | major | `v3.1.0` → `v4.1.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency
Dashboard](../issues/160328) for more information.

---

### Release Notes

<details>
<summary>actions/attest-build-provenance
(actions/attest-build-provenance)</summary>

###
[`v4.1.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v4.1.0)

[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v4.0.0...v4.1.0)

> \[!NOTE]
> As of version 4, `actions/attest-build-provenance` is simply a wrapper
on top of
[`actions/attest`](https://redirect.github.com/actions/attest).
>
> Existing applications may continue to use the
`attest-build-provenance` action, but new implementations should use
`actions/attest` instead.

#### What's Changed

- Update RELEASE.md docs by
[@&#8203;bdehamer](https://redirect.github.com/bdehamer) in
[#&#8203;836](https://redirect.github.com/actions/attest-build-provenance/pull/836)
- Bump `actions/attest` from 4.0.0 to 4.1.0 by
[@&#8203;bdehamer](https://redirect.github.com/bdehamer) in
[#&#8203;838](https://redirect.github.com/actions/attest-build-provenance/pull/838)
- Bump `@actions/attest` from 3.0.0 to 3.1.0 by
[@&#8203;bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#362](https://redirect.github.com/actions/attest/pull/362)
- Bump `@actions/attest` from 3.1.0 to 3.2.0 by
[@&#8203;bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#365](https://redirect.github.com/actions/attest/pull/365)
- Add new `subject-version` input for inclusion in storage record by
[@&#8203;bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#364](https://redirect.github.com/actions/attest/pull/364)
- Add storage record content to README by
[@&#8203;bdehamer](https://redirect.github.com/bdehamer) in
[actions/attest#366](https://redirect.github.com/actions/attest/pull/366)

**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v4.0.0...v4.1.0>

###
[`v4.0.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v4.0.0)

[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v3.2.0...v4.0.0)

> \[!NOTE]
> As of version 4, `actions/attest-build-provenance` is simply a wrapper
on top of
[`actions/attest`](https://redirect.github.com/actions/attest).
>
> Existing applications may continue to use the
`attest-build-provenance` action, but new implementations should use
`actions/attest` instead.

#### What's Changed

- Prepare v4 release by
[@&#8203;bdehamer](https://redirect.github.com/bdehamer) in
[#&#8203;835](https://redirect.github.com/actions/attest-build-provenance/pull/835)

**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v3.2.0...v4.0.0>

###
[`v3.2.0`](https://redirect.github.com/actions/attest-build-provenance/releases/tag/v3.2.0)

[Compare
Source](https://redirect.github.com/actions/attest-build-provenance/compare/v3.1.0...v3.2.0)

#### What's Changed

- Bump [@&#8203;actions/core](https://redirect.github.com/actions/core)
from 1.11.1 to 2.0.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;776](https://redirect.github.com/actions/attest-build-provenance/pull/776)
- Add more documentation on Artifact Metadata Storage Records by
[@&#8203;malancas](https://redirect.github.com/malancas) in
[#&#8203;797](https://redirect.github.com/actions/attest-build-provenance/pull/797)
- Update actions/attest to latest version v3.2.0 by
[@&#8203;malancas](https://redirect.github.com/malancas) in
[#&#8203;812](https://redirect.github.com/actions/attest-build-provenance/pull/812)

**Full Changelog**:
<https://github.com/actions/attest-build-provenance/compare/v3.1.0...v3.2.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 12:59 AM, only on
Monday ( * 0 * * 1 ) (UTC), Automerge - At any time (no schedule
defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/llvm/llvm-project).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
2026-03-01 18:55:46 -08:00
Louis Dionne
f01f0f01d8 [libc++] Try using job.check_run_id instead of github.job
According to https://github.com/orgs/community/discussions/8945,
it seems I'm not the only one who is confused by the documentation.
2026-02-25 18:36:04 -05:00
Louis Dionne
6272d5ac2a [libc++] Use the Github context instead of env to access the run ID & friends 2026-02-25 18:20:41 -05:00
Louis Dionne
b8743de6c5
[libc++] Add link to the running job from the benchmarking bot (#180217)
This allows following the progress of the benchmarking job and also
spotting when it fails.

Fixes #158296
2026-02-25 13:36:11 -05:00
Aiden Grossman
796e7ebbe5
[Github] Turn on prune-unused-branches workflow (#182985)
This patch turns on the prune-unused-branches workflow for everyone
rather than just my user branches now that all feedback from the
discourse thread has been addressed.
2026-02-24 11:14:54 -08:00
Aiden Grossman
93a5e37b93
[Github] Make prune unused branches workflow correctly handle reverts (#183114)
Revert branches were not being correctly excluded from the list of
branches to delete as we never even looked for them. Look for them, and
add some comments to explain.

I have verified that after this patch, the workflow only deletes
branches that are not associated with any PR.
2026-02-24 11:13:46 -08:00
🍙 𝑹𝒖𝒓𝒊 🎋
a67bf7d796
Remove whitespace on blank lines (#182574)
I removed some whitespace on a workflow job, which only had spaces.
I did not remove the newline completelty, only the whitespace junk,
which I found by git diffing the head.
2026-02-21 09:28:02 -08:00
Michael Buch
763fbee264
[CI][lldb] Add a github workflow that runs pylint on LLDB API test changes (#182003)
The motivator here is that Python allows class methods to be redefined.
But in the vast majority of cases this is a bug. E.g., in our API
test-suite two methods with the same name cause the latest definition to
shadow the earlier, in which case only one test-case runs. This happens
silently. Every couple of months i've been running the script from
https://github.com/llvm/llvm-project/pull/97043 manually on the
code-base and it catches a handful of these every time.

This patch sets up a github action that runs on pull requests that
change any files under `lldb/test/API`. The action runs `pylint` on the
changed Python files. The caveat here is that `pylint` isn't set up to
run cleanly on our test-suite. So I just use the [specific redefinition
error
code](https://pylint.readthedocs.io/en/stable/user_guide/messages/error/function-redefined.html).
Any other errors won't cause `pylint` to fail for now (hence the
`--error-under=0`).

Here's an example:
<img width="1412" height="367" alt="Screenshot From 2026-02-20 10-29-28"
src="https://github.com/user-attachments/assets/20093be8-a122-4e17-944a-4472eb12ab25"
/>
2026-02-20 19:07:25 +00:00
Aiden Grossman
b19606721a
[Github][libc] Use a container for fullbuild tests (#181436)
This avoids needing to set up deps every time and avoids failures due to
failed dependency installation.

Closed #150490.
2026-02-15 10:12:58 -08:00
Aiden Grossman
7b052c4c0e
[Github][libc] Also build arm container (#181497)
Some of the libc full build tests also run on AArch64 machines. We need
to build an ARM container or otherwise the container fails to start and
we never end up running anything.
2026-02-14 10:50:10 -08:00
Tom Stellard
87b9805f6c
workflows/release-binaries: Use free arm Windows runners for PRs (#181477)
We are running low on budget, so we need to disable this temporarily.
2026-02-14 05:50:49 -08:00
Aiden Grossman
58184dfc0a [Github] Update libc container
Add git/cmake which are needed by the workflow. Add some comments pulled
from the libc workflow. Also use a user rather than running as root to
prevent file permissions tests from failing.
2026-02-14 00:09:33 +00:00
Aiden Grossman
4aa5573b14
[Github] Only delete branches seen previously in pruning workflow (#181430)
This eliminates any possibility of race conditions around the workflow
deleting branches that were created around when it starts.
2026-02-13 15:39:20 -08:00
Aiden Grossman
304582cc87
[Github] Add libc container (#181434)
This will let us run the libc full build tests inside of a container
which means that we have same time by not having to install dependencies
on every run in addition to not running into issues due to dependencies
failing to install particularly around LLVM releases with the llvm.sh
script.
2026-02-13 15:38:51 -08:00
Aiden Grossman
29380442d2
[Github] Account for cross-repo PRs in prune-unused-branches (#181232)
Some users (as reported in the discourse thread) use user branches
purely as a diff base for cross repo pull requests. This patch makes it
so that we do not delete branches that are used in this way.
2026-02-13 14:26:07 -08:00
Tom Stellard
fbf5bac107
workflows/commit-access-review: Use a GitHub App access token instead of llvmbot (#179364)
This replaces the use of an access token associated with the llvmbot
account with one that is generated by a GitHub App. This is slightly
better, because it eliminates the need to periodically rotate the
llvmbot tokens, which is difficult to do, since it requires sharing a
password and 2fa code among all the admins.

The tokens generated by the app automatically expire after an hour, and
the private key that is used to request it can be easily rotated by an
LLVM Organization owner. Also, since a single private key can be used to
generate many tokens, there is only one secret to rotate instead of
many.
2026-02-13 11:34:30 -08:00
Tom Stellard
620f162f8f
Revert "workflows: Use main-branch-only environment when using ISSUE_SUBSCRIBER_TOKEN (#179990)" (#181352)
This reverts commit 31f31dd9d0460834f2ae67247d3886fec4931d6d.

This commit was causing PRs to be spammed with messages like:

"llvmbot temporarily deployed to main-branch-only — with GitHub Actions
Inactive"

This was causing confusion, and is not worth the marginal security
benefit. I also think this can be avoided by using called workflows, but
I still need to investigate this.
2026-02-13 11:33:59 -08:00
Tom Stellard
127d77f7ab
workflows/release-binaries: Pass missing release-version input to upload-release-artifact (#180879)
This was causing the 22.1.0-rc3 uploads to fail.
2026-02-12 17:07:19 -08:00