26 Commits

Author SHA1 Message Date
Aiden Grossman
619ac3d1ef [Github] Bump CI container dependency versions
This bumps the Github actions runner binary to v2.324.0 and the LLVM version
in the Linux container to v20.1.4.
2025-05-13 05:34:06 +00:00
Aiden Grossman
2c1d4b0404
[Github] Install sccache from apt repo in CI container (#137491)
This patch installs sccache using apt-get in the CI container build
process rather than manually downloading it from github releases. This
makes things quite a bit simpler and means we are not manually handling
things like hash/signature verification. This is only possible now that
we are using ubuntu 24.04 by default.
2025-04-27 08:20:55 -07:00
Aiden Grossman
339f58de16 [Github] Add llvm-symbolizer to CI container
This is needed for symbolizing some test failures. It is under 8MB, so there is
very little cost to adding it.
2025-04-12 05:22:13 +00:00
Aiden Grossman
44923d8631 [Github] Bump Github Runner Version in Agent Containers
The Github runner version got bumped recently and it would be good to keep
this up to date. Also debugging an issue where Github ARC is failing to
create new pods and trying to see if it might be related to outdated
versions.
2025-04-05 06:46:16 +00:00
Aiden Grossman
18172e461c
[Github] Bump CI container to ubuntu 24.04
This helps keep things up to date, and should not cause any issues given we do
not need to care about binary compatibility for things built in the CI
container. This patch also changes the name of the container which allows
incrementally moving jobs over after this lands.

Reviewers: tstellar

Reviewed By: tstellar

Pull Request: https://github.com/llvm/llvm-project/pull/132568
2025-03-27 12:16:45 -07:00
Aiden Grossman
5cb3052ccc
[Github] Bump CI container to LLVM 20.1.1
This patch bumps the CI container to the latest LLVM Release and gets rid of
the patch that we were carrying that is in 20.1.1.

Reviewers: tstellar

Reviewed By: tstellar

Pull Request: https://github.com/llvm/llvm-project/pull/132567
2025-03-27 12:15:23 -07:00
George Burgess IV
78d7dd297f
[github] remove more caches after downloading things (#133129)
This is generally good practice if the caches won't be reused (though
arguably pedantic for the `stage1-toolchain` stage).

`docker history` on comparable images showed that this saves a few
hundred MB on stage1, and ~60MB on the `apt-get` layer of
`ci-container-agent`.
2025-03-26 16:38:43 -07:00
George Burgess IV
3ce92e1c4f
github: fix empty continuation line; remove trailing whitespace (#129535)
- Trailing whitespace shows up as red on my editor, so remove.
- Docker on my machine warns that having line continuations like:

```
  sudo \

  foo
```

is deprecated, and will become an error, so fix that up ahead of time.
2025-03-03 09:47:42 -07:00
Aiden Grossman
d789915f35
[Github] Bump Runner Version in Containers (#124324)
This patch bumps the runner version to v2.322.0 in the CI containers.
Nothing looks suspicious in the change log, and it is important to keep
the runner up to date or we will end up with containers that cannot
connect to Github due to having a version too old.
2025-01-24 15:32:35 -08:00
Aiden Grossman
d35d7f4b13
[Github] Add Agent Container Image (#123486)
This patch adds an agent container image on top of the normal CI
container image. They are the exact same except that the agent container
image also contains Github Runner binaries. I've split it into a
separate container as only one user of these images (the new premerge)
needs this binary installed, and it bloats the container image size
significantly (900MB->1.3GB or so).
2025-01-20 11:53:25 -08:00
Aiden Grossman
e68d18c34e
[Github] Add Zlib at build time to CI container (#123489)
This patch adds zlib at build time to the CI container. This is needed
to make an lldb test pass that defaults to using the system lld if it is
not explicitly enabled in LLVM_ENABLE_PROJECTS.

Fixes #123479 (by fixing the proximal cause).
2025-01-20 11:50:21 -08:00
Aiden Grossman
929b90be30
[Github] Add sccache to CI container (#122063)
This patch adds sccache to the CI container so that the
llvm-project-tests workflow does not fail due to missing sccache.
2025-01-08 20:57:33 -08:00
Aiden Grossman
91ab10e8d6
[Github] Add sudo to CI container (#122036)
This patch adds sudo to the CI container and also adds the gha user as a
member of the sudo group along with making any member of the sudo group
able to run commands as root without a password. This is primarily
intended to enable installing new software through apt-get without
having to rebuild the container.
2025-01-08 17:21:40 -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
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
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
Aiden Grossman
f87f3ad6ea
[Github] Bump CI compiler version to 19.1.2 (#113016) 2024-10-19 10:42:33 -07:00
Aiden Grossman
167c71ad86
Bump CI container clang version to 18.1.8 (#102803)
This patch bumps the CI container LLVM version to 18.1.8. This should've
been bumped a while ago, but I just noticed that it was out of date.
This also allows us to drop a patch that we manually had to add as it is
by default included in v18.
2024-08-11 11:01:15 -07:00
Tom Stellard
e49f902358
[workflows] Add scan-build to ci-ubuntu-22.04 container (#94543)
This will be used for a new CI job that runs the static analyzer.
2024-06-06 06:05:29 -07:00
Natalie Chouinard
da63746bdf
[infra] Add git to Linux container (#82687)
Fixes #82646
2024-03-05 11:09:10 -05:00
Aiden Grossman
8f80df0f52
[Github] Use building LLVM as perf-training for CI container (#80713)
This patch adjusts the build process for building the toolchain for the
CI container to perform more rigorous perf-training for PGO,
particularly building the entirety of LLVM as that is what showed the
best results while benchmarking. This patch also splits the job into two
stages to avoid timeouts due to the large increase in buildtime. There
are a couple other hacks added in here to make things work that we can
do away with eventually once we're able to run jobs like this on more
powerful self-hosted runners.
2024-02-05 18:16:19 -08:00
Aiden Grossman
cc0d752f34
[Github] Add git to actions container image (#80341) 2024-02-01 17:30:09 -08:00
Aiden Grossman
5d9ffcd7f8 [Github] Build stage2-clang-bolt target for CI container
Only the stage2-distribution target is built by default for the
stage2 distribution installation target. This means that we don't get a
BOLT optimized binary. This patch explicitly builds the
stage2-clang-bolt target before the distribution installation target so
that the clang binary is optimized before it gets installed.
2024-01-31 22:11:17 -08:00
Aiden Grossman
9107904e9b
[Github] Build PGO optimized toolchain in container (#80096)
This patch adjusts the Docker container intended for CI use to contain a
PGO+ThinLTO+BOLT optimized clang. The toolchain is built within a Github
action and takes ~3.5 hours. No caching is utilized. The current PGO
optimization is fairly minimal, only running clang over hello world.
This can be adjusted as needed.
2024-01-31 12:55:44 -08:00
Tom Stellard
166bd4e1f1
[workflows] Build a container for running CI on github actions (#75286)
Using a container will allow us to have similar testing environments on
both the GitHub hosted runners and the self-hosted runners.
2024-01-04 11:30:57 -08:00