477 Commits

Author SHA1 Message Date
Aiden Grossman
8a62104f64
[Github] Use hashed dependencies in docs job (#120319)
This patch forces the docs test build job to use the hashed dpendencies
file rather than the normal requirements.txt. This ensures that we get
the exact transitive closure specified rather than whatever the
dependency solver feels like it should use in the CI job.
2024-12-17 14:46:13 -08:00
Andrei Safronov
75b2d78673
[GitHub] Add Xtensa backend labeler. (#120133)
Add patterns to label Xtensa backend related changes automatically.
2024-12-17 12:51:52 +03:00
Aiden Grossman
4a7673ddf2 [Github] Fix premerge concurrency cancellation
This should actually fix the problem as I validated that github.sha returns an
actual value by running a workflow in a test repo. I'm not sure why the
existing value doesn't work, but it returns nothing.
2024-12-17 06:49:35 +00:00
Aiden Grossman
f0878995c2 [Github] Fix concurrency groups for premerge
According to https://docs.github.com/en/rest/using-the-rest-api/github-event-types?apiVersion=2022-11-28,
When we look at the push event payload, github.event.push.head is a string
containing the SHA. This is currently causing new commits on main to cancel
the premerge pipeline of older commits.
2024-12-17 01:10:46 +00:00
Aiden Grossman
a8456c9a2f [Github] Enable new premerge workflow postcommit
This patch enables the new premerge workflow postcommit so that we can start
testing it at a reasonable scale with minimal disruption.
2024-12-16 23:11:54 +00:00
Aiden Grossman
484a2819de
[CI][Github] Add linux premerge workflow (#119635)
This patch adds a Github Actions workflow for Linux premerge. This
currently just calls into the existing CI scripts as a starting point.
2024-12-16 13:30:51 -08:00
Aiden Grossman
b86a22aa39
[Github] Default to non-root user in linux CI container (#119987)
This patch sets the default user in the linux CI container to a non-root
user, which enables properly testing a couple of features, particularly
in libcxx.
2024-12-16 13:22:34 -08:00
Aiden Grossman
1751914a52
[Github] Add some additional system packages (#119988)
This patch adds some additional system packages to the CI container.
These are necessary for use in the new premerge workflows. The size
increase is not super small, but should be manageable with the size
increase being about 100MB.
2024-12-16 12:30:01 -08:00
Aiden Grossman
af20aff35e
[Github] Fix windows container push (#119916)
The windows container push was not tested in the pull request and had a
couple of typos that prevented it from functioning. This patch fixes
that so we can actually push the container to GHCR.
2024-12-13 19:00:03 -08:00
Tom Stellard
22266bc958
workflows/build-ci-container: Fix typos in variables (#119943)
This was preventing the containers from being pushed to the registry.
2024-12-13 18:59:37 -08:00
Aiden Grossman
a44915a8e5
[Github] Add a windows CI container (#118206)
This patch adds a windows CI container mostly based off of the existing
container used for Buildkite
(a687e33c37/containers/buildkite-windows/Dockerfile (L1)).
This is intended to be a starting point as we transition to Github
Actions with the eventual plan being to build a custom windows toolchain
similar to what we do on Linux.
2024-12-13 10:00:57 -08:00
Aiden Grossman
5747ad4392
[Github] Test docs action on workflow changes (#119627)
This patch makes the check docs build workflow run testing on all of the
docs builds when the workflow is changed. This is intended to catch
issues like those that were not caught premerge when adding in the
functionality to download the built docs.
2024-12-13 09:50:25 -08:00
Aiden Grossman
939c94bbb4
[Github] Bump CI container to LLVM 19.1.5 (#119809)
Bump the CI container version to the latest release.
2024-12-13 09:03:36 -08:00
Schrodinger ZHU Yifan
24162bdaf7
[libc][workflows] fix pre-commit fullbuild dependency problem (#119441)
- fix the issue where `linux-headers-generic` cannot be installed
2024-12-10 15:08:38 -05:00
Louis Dionne
7ea1fe7732 Revert "[libc++] Try handling spurious cancellation in the mainline CI restarter"
This reverts commit ecbf64d6dc6, since that seems to cause the CI to
restart-loop instead of doing what it should.
2024-12-10 10:29:35 -05:00
Louis Dionne
ecbf64d6dc [libc++] Try handling spurious cancellation in the mainline CI restarter
We've been having issues with cancelled CI jobs due to Docker-in-Docker
failures (spurious). I tried addressing that by adding a new flavor of
the restarter action, but that clearly hasn't worked out since we see
a lot of these spurious failures.

This PR is an attempt to fix this by changing the mainline CI restarter
used by libc++, not just the workflow job I added for testing. I have to
check this in to test it because this workflow uses the version that's
on the main branch.
2024-12-10 10:02:41 -05:00
Schrodinger ZHU Yifan
bd231da1d1
[libc][workflow] address permission concern and add more comments (#119320)
This patch limits the permission of pre-commit libc pipelines. It also
adds detailed comments to help future modifications.
2024-12-10 09:37:27 -05:00
Tom Stellard
df4c5d5b58
workflows: Rewrite build-ci-container to work on larger runners (#117353)
Also switch them over to the new depot runners.
2024-12-10 06:31:41 -08:00
Schrodinger ZHU Yifan
f15cc6fe2f
[libc] add multi-platform pre-commit github actions (#119104)
We do not have CI coverage for Windows/MacOS and we regularly run into
problem where changes break post-commit fullbuild which is not tested in
pre-commit builds. This PR utilizes the github action to address such
issues.
2024-12-09 16:04:07 -05:00
Louis Dionne
a5e87c6d8d [libc++] Try fixing the preemption detection regex 2024-12-09 09:12:14 -05:00
Tom Stellard
0d5ae3632d
workflows/commit-access-review: Use Python APIs for graphql queries (#108903) 2024-12-06 18:34:03 -08:00
Tom Stellard
c49d809f2f
workflows/commit-access-review: Update label name (#118903)
We switched to using a new label name for tracking commit access
requests.
2024-12-06 18:16:30 -08:00
Louis Dionne
8ab2730c0a [libc++] Rename test job for restarting preempted jobs 2024-12-05 13:14:07 -05:00
Louis Dionne
842d563151 [libc++][CI] Also restart failed jobs when they fail for a spurious reason
Since we moved to a Docker-in-Docker setup, CI jobs sometimes fail due
to the Docker VM dying with 'context cancelled' errors. This is currently
not recognized as a spurious failure, which leads to the job not being
automatically restarted. This patch fixes that.

This commit only adds a test job with the new logic since this workflow
triggers on workflow_run, which means that the changes need to be on
`main` before they can be tested. Once this is tested to work properly,
I'll make it the default definition for the workflow.
2024-12-04 12:51:27 -05:00
Louis Dionne
ef164ecedf
[libc++][libunwind] Fix documentation CI job after #118159 (#118555) 2024-12-04 12:30:35 -05:00
Nick Desaulniers
ce416a073b
[Github] fix libc documentation path (#118514)
Running `ninja docs-libc-html` produces content in
{build_dir}/libc/docs, not
{build_dir}/docs. Presubmit jobs for "Test documentation build" were
failing as
a result of commit 97f94af3560d ("[Github] Upload built docs as artifact
from
test build docs job (#118159)")

Link: #118159
Link: #117220
2024-12-03 10:05:10 -08:00
David Spickett
aec9ecbcca
[github] Change "code owners" note to refer to "maintainers" (#118087) 2024-12-03 11:46:05 +00:00
Aiden Grossman
97f94af356
[Github] Upload built docs as artifact from test build docs job (#118159)
This patch makes the test documentation build job upload the docs that
have been built as artifacts. This makes it much easier to take a peek
at the resulting documentation rather than just being able to see that
it builds.
2024-12-02 08:02:49 -08:00
Aiden Grossman
2de2e7aa6f
[Github] Fix build metrics container push (#118130)
This patch fixes a couple typos that were preventing the build metrics
container job from pushing the container to GHCR.
2024-11-29 12:09:36 -08:00
Aiden Grossman
9ebab700cd
[Github] Add new workflow to build metrics container (#117462)
This patch adds a new Github Actions workflow to build the metrics
container and push it to the Github Container Registry.
2024-11-29 11:35:13 -08:00
Marc Auberer
831469fb55
Automatically add false-positive/false-negative labels (#117811)
Fixes #117762
2024-11-28 11:12:06 +01:00
Nikolas Klauser
aaa0dd2f05 [libc++][NFC] Remove a bunch of unused environment variables from the CI configs 2024-11-23 12:32:47 +01:00
Tom Stellard
6fe94c3bae
[Workflows] Enable commit access requests via GitHub issues (#100458)
This updates the auto-labeler to match a specific issue title that is
going to be used for requesting commit access and then add the
infrastructure:commit-access-request label.

This will notify the admin team who will be able to handle the request.

See
https://discourse.llvm.org/t/rfc-change-the-process-for-requesting-commit-access/80184

---------

Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
2024-11-18 17:53:59 -08:00
Louis Dionne
c2a3ed2269
[libc++] Bump libc++ CI to a more recent version of the Docker image (#116558)
The Docker image was built using the recently introduced Action that
builds and pushes to the LLVM Docker registry.
2024-11-18 08:02:40 +01:00
Louis Dionne
2d7ec7f0d3
[libc++] Rename the label for libc++ self-hosted runners (#116540) 2024-11-17 19:04:16 +01:00
Louis Dionne
0fd6f684b9
[libc++] Adjust workflow file for building the libc++ docker image (#116366) 2024-11-16 12:05:12 +01:00
Louis Dionne
649e4bf5d8 [libc++] Update the docker-compose file for actions CI 2024-11-15 10:51:37 +01:00
Louis Dionne
a809405f78
[libc++] Adjust the workflow file for building a Docker image (#116333) 2024-11-15 08:58:43 +01:00
Louis Dionne
1799d57ffa
[libc++] Add a Github action to build libc++'s Docker images (#110020)
This patch adds a Github action that runs whenever changes to the libc++
Docker images are pushed to `main`. The action will rebuild the Docker
images and push them to LLVM's container registry so that we can then
point to those images from our CI nodes.
2024-11-15 08:36:28 +01:00
Louis Dionne
2d6459cb28
[libc++] Fix CI issues recently introduced by localization changes (#116216)
After a recent Github Actions runner policy change [1], the version of
Xcode included in the macos-14 image went from Xcode 16 to Xcode 15,
breaking our build bots.

This moves the bots to the macos 15 (public preview) image, which
contains Xcode 16.

Also, adjust an UNSUPPORTED annotation that was incorrectly targeting
macos 13.7 when it should have been targeting a version of AppleClang.

[1]: https://github.com/actions/runner-images/issues/10703
2024-11-15 00:00:54 +01:00
Jorge Gorbe Moya
48e09fea01
Add new "llvm:SandboxIR" label to .github/new-prs-labeler.yml (#115965)
As requested in
https://github.com/llvm/llvm-project/pull/115577#issuecomment-2466300749
2024-11-13 11:19:15 -08:00
Nikita Popov
99a3c3ffcf
[InstCombine][GitHub] Auto-add llvm:instcombine label (NFC) (#115736)
Add `llvm:instcombine` label to PRs touching InstCombine or
InstSimplify. (We track InstSimplify issues under `llvm:instcombine` as
well, so I added it here as well.)
2024-11-12 10:28:20 +01:00
QuietMisdreavus
e5e15f9128
add QuietMisdreavus to Clang/ExtractAPI code owners (#115206)
Adding myself to the ExtractAPI code owners listing so i can participate
in code reviews.
2024-11-08 09:44:19 -07:00
Kunwar Grover
5b697ef5dd
[mlir] Update CODEOWNERS file for vector dialect (#115398)
Adding myself to stay updated on patches since I have been reviewing /
upstreaming things related to vector dialect.
2024-11-07 23:53:27 +00:00
Louis Dionne
e236a52a88
[libc++] Unify the benchmarks with the test suite (#101399)
Instead of building the benchmarks separately via CMake and running them
separately from the test suite, this patch merges the benchmarks into
the test suite and handles both uniformly.

As a result:
- It is now possible to run individual benchmarks like we run tests
  (e.g. using libcxx-lit), which is a huge quality-of-life improvement.

- The benchmarks will be run under exactly the same configuration as
  the rest of the tests, which is a nice simplification. This does
  mean that one has to be careful to enable the desired optimization
  flags when running benchmarks, but that is easy with e.g.
  `libcxx-lit <...> --param optimization=speed`.

- Benchmarks can use the same annotations as the rest of the test
  suite, such as `// UNSUPPORTED` & friends.

When running the tests via `check-cxx`, we only compile the benchmarks
because running them would be too time consuming. This introduces a bit
of complexity in the testing setup, and instead it would be better to
allow passing a --dry-run flag to GoogleBenchmark executables, which is
the topic of https://github.com/google/benchmark/issues/1827.

I am not really satisfied with the layering violation of adding the
%{benchmark_flags} substitution to cmake-bridge, however I believe
this can be improved in the future.
2024-11-07 09:07:50 -05:00
Eric
97262afa6d
Allow specifying libcxx builder image. (#110303)
This change attempts to shift the libc++ builders over to new backend
infrastructure that allows running an arbitrary container for the
libc++ job.

This has been a long time in the making, and support from github
and gke is finally at the point where it's possible (hopefully).

This change should also demonstrate another important property:
No Downtime Upgrades.

If this goes well, we'll be able to test the upgrade as a part
of the PR process, and then commiting it to main should (ideally)
not break anything.
2024-11-05 16:30:49 -05:00
Louis Dionne
f2019fc5ca
[libc++] Upload CMakeConfigureLog artifacts (#114445)
This is helpful to debug CMake configuration issues such as the ones
that can happen when we build an external project (like
GoogleBenchmark).
2024-11-01 09:41:45 -04:00
Aiden Grossman
f87f3ad6ea
[Github] Bump CI compiler version to 19.1.2 (#113016) 2024-10-19 10:42:33 -07:00
Brad Richardson
06eb10dadf
[flang][driver] rename flang-new to flang (#110023)
This does a global rename from `flang-new` to `flang`. I also
removed/changed any TODOs that I found related to making this change.

---------

Co-authored-by: H. Vetinari <h.vetinari@gmx.com>
Co-authored-by: Andrzej Warzynski <andrzej.warzynski@arm.com>
2024-10-10 09:26:04 +01:00
Aiden Grossman
35684fa4bc
[Github] Switch vectorization PR label to vectorizers (#111633)
This changes the PR label to match the name of the subscriber team.

Fixes #111485.
2024-10-09 13:09:19 -07:00