Commit graph

1183 commits

Author SHA1 Message Date
Tom Stellard
09734937d3
workflows/llvm-abi-tests: Cache the baseline abi (#211968)
This way we don't need to recompute it for every workflow.
2026-07-31 16:32:37 -07:00
Tom Stellard
e423bace20
workflows/require-team-membership: Fix typo (#212686) 2026-07-31 14:00:41 -07:00
Tom Stellard
02bde07167
workflows/release-binaries: Move environment declaration to upload job (#212687)
This is the only job that actually needs to use the environment secrets,
so the environment must be declared. We were using secrets in the
prepare job to do a permissions check, but this is unnecessary, because
that job does not do anything that is security sensitive.

Only the upload job needs to have these permission checks and these are
already included in the upload-release-artifact composite action.
2026-07-31 13:00:46 -07:00
Tom Stellard
22308c4c51
workflows/release-sources: Pass release-version to upload-release-artifacts (#212660)
This was omitted from a8ccd42ab2.
2026-07-31 11:51:25 -07:00
Rafael Auler
197e68dbd3
Revert "[github] Move BOLT reviewers to team (#211422)" (#213141)
We haven't really being tagged in new PRs anymore, so it looks like this
is not working.

Revert for now until we can fix this, so we don't miss PRs.

This reverts commit 04f124f615.
2026-07-30 14:38:10 -07:00
Jordan Rupprecht
9064e230ab
Add some bazel libc review coverage (#209789)
This should improve timezone coverage for keeping the bazel build
working due to libc breakages, e.g. #209433 broke things and the bazel
fixer bot sent out #209689. But since it wasn't landed until just
recently, manual fixes were needed for other changes like #209449. This
wouldn't be as bad if the bazel fixer bot could handle layered
breakages.
2026-07-29 14:24:08 -05:00
Arseniy Obolenskiy
e73371acbc
[premerge] Route macOS build through a monolithic script to enable Job Summary (#211565)
The macOS premerge job built inline instead of via a `monolithic-*.sh`
script, so it never emitted a GitHub Job Summary or JUnit XML like
Linux/Windows do on failure
2026-07-29 04:38:31 +02:00
Tom Stellard
dc7e9df5d2
workflows/release-sources: Make sure to checkout all the composite actions (#212544) 2026-07-28 15:00:56 -07:00
Louis Dionne
810062e977
[libc++] Require selecting a machine when dispatching the benchmark workflow (#212591)
This resolves a TODO to allow selecting which machine we're running on.
As I am working on automation to dispatch these benchmarking jobs, it
turns out that we always want to specify the machine, and we always want
to specify a single machine to run per workflow, since this is the only
way we can track which commits have been attempted (or are still in
flight) on a given machine.

Therefore, the ability to run benchmarks on all machines at once is
removed from this workflow (but not from the related PR A/B benchmarking
workflow).

This patch also includes the machine name and the commit being
benchmarked into the runs's name, which is necessary for automation to
know what the workflow was benchmarking.
2026-07-28 16:03:13 -04:00
Mishal Shah
8efaaf1811
[premerge] Build and check runtimes on macOS premerge (#210852)
Compute and pass through LLVM_ENABLE_RUNTIMES and the corresponding
check targets for the macOS premerge job, mirroring existing support for
projects.
2026-07-28 08:40:09 -07:00
Louis Dionne
4ca573fb79
[libc++] Rename the test suite used on LNT (#212347)
The LNT instance on http://lnt.llvm.org was wiped since I created the
original schema, and we can now start over clean with a new test suite
named `libcxx`.
2026-07-27 17:34:47 -04:00
Tom Stellard
b9a7aad4a9
workflows/release-tasks: Fix permissions for release-documentation (#212310) 2026-07-27 10:58:58 -07:00
Tom Stellard
3c6d9cdb08
workflows/release-binaries: Add missing action to checkout (#211720)
The upload-release-artifact action uses the require-team-membership
action so we need to make sure that latter is checkout out when calling
upload-release-artifact.
2026-07-27 09:58:39 -07:00
jinge90
30603f527e
Update image sha256 for libc fullbuild tests (#212168) 2026-07-27 23:39:30 +08:00
Tom Stellard
2ad69983d8
workflows/libclang-abi-tests: Fix missing environment variable (#211959)
This was accidentally removed in
f6af6cedfd.
2026-07-25 22:25:08 -07:00
Tom Stellard
bab258ae1e
workflows/relase-tasks: Fix variable name typo (#211732) 2026-07-25 22:14:59 -07:00
Tom Stellard
ae0f00de4c
workflows/release-documentation: Fix variable name typo (#211729) 2026-07-25 22:06:12 -07:00
Ferdinand Lemaire
8def9629ca
[Github] Add myself and lforg37 as mlir wasmssa codeowners (#212079)
Adding @flemairen6 and @lforg37 as codeowners of WasmSSA

Co-authored-by: Ferdinand Lemaire <flemairen6@gmail.com>
2026-07-26 01:44:07 +00:00
Louis Dionne
ba61615b65
[libc++] Rename pre-commit CI workflows (#211844)
Since we're expanding libc++'s pre-commit CI to add other types of
tests, (e.g. tools tests, performance tests, etc), it makes sense to be
a bit more precise about what each workflow does, and to use a
consistent pattern across workflow names.

Also, update stale references to old names in the documentation and in
some infrastructure scripts.
2026-07-24 14:56:19 -04:00
Louis Dionne
8676929694
[libc++][CI] Add a Github workflow to test libc++ tools (#211067)
We have a few scripts under libcxx/utils, and they wouldn't be tested on
a regular basis. As a result, changes to e.g. the build system could
break these scripts, which in turn could break some Github workflows
like the libc++ PR benchmarking workflow.

This patch adds a new `test-tools` configuration to `run-buildbot` which
allows testing these tools locally, and a new dedicated Github workflow
to run it.
2026-07-24 14:53:24 -04:00
Louis Dionne
1597ca6a83
[libc++] Fix Python selection in the macOS benchmark jobs (#211812)
The macOS benchmark jobs install python 3.14 via Homebrew but added the
wrong prefix (<prefix>/libexec/bin) instead of <prefix>/bin to the PATH.
2026-07-24 10:48:38 -04:00
Louis Dionne
62b809a37a
[libc++] Consistently install Python and dependencies across macOS CI jobs (#211659)
On the macOS self-hosted runners, we need to install dependencies via
Homebrew and pinning the Xcode version is good for reproducibility. This
applies the guidelines documented in #211622 to libc++'s CI jobs.
2026-07-24 08:18:25 -04:00
jinge90
7d13e22df9
Create symlink for llvm-link in libc docker image (#210929) 2026-07-24 13:38:24 +08:00
Louis Dionne
7f140055b7
[libc++] Pin down the compiler in the various benchmark scripts and jobs (#211563)
We have various scripts that build and test the library at pinpointed
commits: benchmark-historical, run-benchmarks, build-at-commit and
test-at-commit. They were handling the compiler in different ways: some
scripts would just run the libc++ build (or test suite configuration)
without specifying the compiler, which means the $CXX environment
variable was used if present. Other scripts (e.g. run-benchmarks) would
accept the compiler as an argument, but would fail to pass it down when
configuring the test suite, which led to issues.

This patch passes the compiler explicitly in all scripts: this removes
any potential confusion around how the compiler should be specified (env
var or argument). The only exception is build-at-commit, where the
compiler is still specified by passing the appropriate CMake arguments.
The reason for this exception is that passing arguments to CMake is
actually the way we want to configure aspects of the build (and the test
suite) in the long term, it's just that the test suite doesn't support
this cleanly due to the CMake/Lit split at the moment.

In the longer term, `test-at-commit` should also lose its `--compiler`
argument in favour of being able to pass CMake parameters to the test
suite configuration, but we are not there yet.
2026-07-23 13:21:11 -04:00
Luke Lau
233657433d
[GitHub] Collect statistics in test-suite workflow (#210316)
This allows comparing the statistic counters in the results.json
artifacts
2026-07-23 12:58:39 +08:00
hulxv
70235228b1
[CI] Add precommit CIs to test compiler-rt + LLVM libc integration. (#200196)
Add Pre-commit CI to test compiler-rt builtins with libc to check it
works without issues

Split from #197950

Part of #197824

---------

Co-authored-by: Michael Jones <michaelrj@google.com>
2026-07-23 04:51:17 +03:00
Amir Ayupov
04f124f615
[github] Move BOLT reviewers to team (#211422)
Use https://github.com/orgs/llvm/teams/reviewers-bolt in place of
reviewers list, similar to runtimes.
2026-07-22 16:52:36 -07:00
Tom Stellard
f2a284b473
workflows/release-sources: Add missing checkout for composite action (#211079)
We need to explicitly checkout
.github/workflows/validate-release-version if we are going to use it.
2026-07-22 14:29:42 -07:00
Tom Stellard
7d39826fbe
workflows/release-documentation: Fix indentation (#211319)
Introduced by 8ad500f6f7.
2026-07-22 11:14:36 -07:00
Tom Stellard
8ad500f6f7
workflows/release-documentation: Add missing checkout (#211082)
We need to checkout the upload-release-artifact composite action before
using it.
2026-07-22 07:10:44 -07:00
Eli Friedman
f1685cb3d9
workflows/issue-release-workflow: Allow multiple URLs in /cherry-pick commands. (#211050)
f0ae26c9 allowed specifying multiple commits to /cherry-pick, but that
only works for plain commit hashes; it doesn't work for the URL form.
Adjust the regex to allow multiple URLs.
2026-07-21 13:30:31 -07:00
Louis Dionne
e328d6e089
[libc++] Use github-script instead of pygithub for benchmark jobs, and report failure (#211074)
Switch GitHub API interactions to use actions/github-script instead of
pygithub, as is done in other Github workflows in the repository. This
is simpler and it also resolves the issue that if setting up the Python
virtual environment fails, there's no way to communicate the issue back
since doing so would require pygithub.

As a drive-by, also report the failure when a step in the libc++ PR
benchmark job fails, instead of leaving a "Running benchmarks in ..."
comment indefinitely.

Assisted by Claude

Fixes #210985
2026-07-21 15:46:53 -04:00
Tom Stellard
d53ebd23aa
workflows/release-documentation: Fix typo (#210815)
GITHUB_OUT -> GITHUB_OUTPUT
2026-07-21 10:03:12 -07:00
Tom Stellard
429c88d37f
workflows: Add missing checkouts when using validate-release-version (#210471)
We need to make sure all composite workflows we use are checked out
manually from th egit repo.
2026-07-20 14:12:13 -07:00
Tom Stellard
b7810e97d6
workflows/release-documentation: Add missing secrets (#210421) 2026-07-20 08:52:47 -07:00
Louis Dionne
499fd10534
[libc++] Run macOS CI on self-hosted runners instead of Github ones (#210124)
This should increase our capacity and allow better turn around times,
and potentially unblock additional test coverage.

Note that this change implies that the self-hosted runners provide a
version of Xcode that is supported by libc++ (the latest released one),
which is currently the case.
2026-07-20 09:09:41 -04:00
Mend Renovate
24942433bc
Update [Github] Update GHA Dependencies (#194274)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
|
[EnricoMi/publish-unit-test-result-action](https://redirect.github.com/EnricoMi/publish-unit-test-result-action)
| action | minor | `v2.23.0` → `v2.24.0` | |
|
[actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance)
| action | patch | `v4.1.0` → `v4.1.1` | |
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | patch | `v6.0.2` → `v6.0.3` | |
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | patch | `v6.0.1` → `v6.0.3` | |
|
[actions/create-github-app-token](https://redirect.github.com/actions/create-github-app-token)
| action | minor | `v3.1.1` → `v3.2.0` | |
| [actions/labeler](https://redirect.github.com/actions/labeler) |
action | minor | `v6.0.1` → `v6.2.0` | |
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | minor | `v6.3.0` → `v6.5.0` | |
|
[actions/setup-python](https://redirect.github.com/actions/setup-python)
| action | minor | `v6.2.0` → `v6.3.0` | |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | patch | `v7.0.0` → `v7.0.1` | |
| [aminya/setup-cpp](https://redirect.github.com/aminya/setup-cpp) |
action | patch | `v1.8.0` → `v1.8.1` | |
| [docker/login-action](https://redirect.github.com/docker/login-action)
| action | minor | `v4.1.0` → `v4.4.0` | |
| ghcr.io/llvm/amd64/ci-ubuntu-24.04-github-automation | container |
digest | `82b5304` → `f419363` | |
| ghcr.io/llvm/ci-ubuntu-24.04 | container | digest | `cc4fd65` →
`26c16c2` | |
| ghcr.io/llvm/ci-ubuntu-24.04-abi-tests | container | digest |
`cb3aea3` → `a948062` | |
| ghcr.io/llvm/ci-ubuntu-24.04-lint | container | digest | `91665a4` →
`416874e` | |
| ghcr.io/llvm/libc-ubuntu-24.04 | container | digest | `a902fb5` →
`b9c8ea7` | |
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | minor | `v4.35.2` → `v4.37.0` | `v4.37.1` |
|
[hendrikmuhs/ccache-action](https://redirect.github.com/hendrikmuhs/ccache-action)
| action | patch | `v1.2.22` → `v1.2.23` | |
|
[zizmorcore/zizmor-action](https://redirect.github.com/zizmorcore/zizmor-action)
| action | minor | `v0.5.3` → `v0.6.0` | |
2026-07-19 08:45:47 -07:00
hulxv
9f6c84b836
[Github] symlink llvm-tools in libc container (#210561)
Missed thing in #210414. We need to symlink the LLVM tools that are
under `/usr/lib/llvm-23/bin/` to avoid errors like this because the LLVM
tools have a `-23` suffix when they're installed inside the container

```
# RUN: at line 2
/usr/bin/clang-23   -gline-tables-only   -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta  -DCOMPILER_RT_HAS_FLOAT16 -nobuiltininc -I/__w/llvm-project/llvm-project/compiler-rt/include -idirafter /usr/lib/llvm-23/lib/clang/23/include -resource-dir=/__w/llvm-project/llvm-project/build/compiler-rt -Wl,-rpath,/__w/llvm-project/llvm-project/build/compiler-rt/lib/linux  -fno-builtin -I /__w/llvm-project/llvm-project/compiler-rt/lib/builtins -nodefaultlibs /__w/llvm-project/llvm-project/compiler-rt/test/builtins/Unit/aarch64/emupac.c -lm -Wl,--start-group /__w/llvm-project/llvm-project/build/compiler-rt/lib/linux/libclang_rt.builtins-aarch64.a -lc -Wl,--end-group -o /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/AARCH64LinuxConfig/aarch64/Output/emupac.c.tmp
# executed command: /usr/bin/clang-23 -gline-tables-only -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -DCOMPILER_RT_HAS_FLOAT16 -nobuiltininc -I/__w/llvm-project/llvm-project/compiler-rt/include -idirafter /usr/lib/llvm-23/lib/clang/23/include -resource-dir=/__w/llvm-project/llvm-project/build/compiler-rt -Wl,-rpath,/__w/llvm-project/llvm-project/build/compiler-rt/lib/linux -fno-builtin -I /__w/llvm-project/llvm-project/compiler-rt/lib/builtins -nodefaultlibs /__w/llvm-project/llvm-project/compiler-rt/test/builtins/Unit/aarch64/emupac.c -lm -Wl,--start-group /__w/llvm-project/llvm-project/build/compiler-rt/lib/linux/libclang_rt.builtins-aarch64.a -lc -Wl,--end-group -o /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/AARCH64LinuxConfig/aarch64/Output/emupac.c.tmp
# RUN: at line 3
/__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/AARCH64LinuxConfig/aarch64/Output/emupac.c.tmp 1
# executed command: /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/AARCH64LinuxConfig/aarch64/Output/emupac.c.tmp 1
# RUN: at line 4
/__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/AARCH64LinuxConfig/aarch64/Output/emupac.c.tmp 2
# executed command: /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/AARCH64LinuxConfig/aarch64/Output/emupac.c.tmp 2
# RUN: at line 5
not --crash  /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/AARCH64LinuxConfig/aarch64/Output/emupac.c.tmp 3
# executed command: not --crash /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/AARCH64LinuxConfig/aarch64/Output/emupac.c.tmp 3
# .---command stderr------------
# | 'not': command not found
# `-----------------------------
```
2026-07-19 17:11:40 +03:00
hulxv
84b9da663e
[Github] Install llvm-tools in libc container (#210414)
Currently, the libc container doesn't contain `llvm-tools`. we need to
use them in #200196 because we are not able to use `llvm-lit` without
building clang from source
2026-07-18 23:40:30 +00:00
Mishal Shah
ea50c8cc99
Fix macOS casing in premerge workflow (#210477) 2026-07-18 01:19:13 -07:00
Mishal Shah
db1f902cd6
Add macOS premerge check workflow (#207435)
Added a premerge check workflow for macOS self-hosted runners to build
and test projects.
2026-07-17 10:22:44 -07:00
Tom Stellard
963e226d9a
workflows: Fixes for release-binaries and upload-release-artifact (#209246)
There were some bugs in upload-release-artifact workflow and
release-binaries was not including this action in its checkout.
2026-07-16 21:06:59 -07:00
Tom Stellard
16c6374250
workflows/llvm-abi-tests: Fix typo (#209917)
Introduced by 9bd8bbb2b7.
2026-07-16 09:37:06 -07:00
Reid Kleckner
cf293b069a
[docs] Rename selected Clang docs to Markdown (#209281)
Tracking issue: https://github.com/llvm/llvm-project/issues/201242
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840

This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.
2026-07-15 13:49:27 -07:00
lntue
2c31050a6c
[libc][ci] Add qemu armhf overlay tests to precommit CI. (#203369) 2026-07-14 16:09:02 -04:00
Charles Zablit
fdc884f5a5
[docker][Windows] install libxml2 using vcpkg (#209422)
Since https://github.com/llvm/llvm-project/pull/209258, lldb uses
`lldb-server.exe` by default if libxml2 is available at build time. This
means that lldb-server requires installing libxml2 in the CI
environments to test it.

This patch adds a step to install libxml2 in the docker container used
for lldb pre-merge testing on Windows.
2026-07-14 17:06:09 +01:00
David Spickett
2d40108244
[GitHub] Install libedit, libxml2 and liblzma to be used in Linux LLDB builds (#209129)
In #188049 we missed some test failures because GitHub CI does not have
libxml2 installed. I checked the logs and found a couple of other things
missing.

In this change I'm adding to the Linux container:
* libedit
* libxml2
* liblzma

I am not adding ncurses because this would enable text user interface
tests that are often unstable. They do run post-commit, and don't change
that often anyway.

I am not adding Lua or TreeSitter because they are more obscure and are
tested somewhere post-commit (in Green Dragon I think).
2026-07-14 09:16:58 +01:00
Louis Dionne
3287d11199
[libc++] Switch PR benchmark job to llvm-premerge-libcxx-runners (#209267)
Like #208928 but for the PR benchmarking job.
2026-07-13 17:03:08 -04:00
Louis Dionne
76a21c86af
[libc++] Add a workflow to run libc++ benchmarks on historical commits (#208080)
This allows triggering a workflow that benchmarks a given commit on both
macOS and Linux, and optionally submits the results to a LNT instance
(by default lnt.llvm.org).

Triggering this workflow requires write access to the LLVM monorepo, so
the inputs can be trusted to a large extent.

The intent is for this workflow to be triggered semi-automatically by a
combination of scripts and manual intervention. For example, we can
reuse a script like libcxx/utils/ci/lnt/commit-watch to automatically
trigger the workflow on new commits, while also requesting new commits
when bisecting regressions, etc. Since workflows can be dispatched via
the Github API, this should easily be scriptable.

A few important improvements are currently missing from this workflow
and left for future patches:
- The ability to select only a subset of configurations to run
- Additional configurations, such as unstable ABI, hardening, etc.
2026-07-13 17:00:09 -04:00
lntue
41388b1d74
[libc] Add riscv64 qemu precommit CI for overlay mode. (#192816) 2026-07-13 16:57:28 -04:00