-
Notifications
You must be signed in to change notification settings - Fork 1k
Update Github CI, docker setup and documentation to run on Ubuntu 24.04 with clang-20 and gcc-14 #4940
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
22bdd9a to
c29f2ff
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the GitHub CI workflow to use Ubuntu 24.04 with clang-19 instead of Ubuntu 22.04 with clang-12, aligning the CI environment with the package distribution targets for stellar-core.
Key changes:
- Upgrades Ubuntu runner versions from 22.04 to 24.04
- Updates clang toolchain from version 12 to version 19
- Removes the dedicated clang-19 static analysis workflow
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .github/workflows/clang-19-static-analysis.yml | Removes the entire dedicated clang-19 static analysis workflow file |
| .github/workflows/build.yml | Updates Ubuntu versions, clang toolchain to version 19, and adds format check skip |
9e32838 to
1f06f42
Compare
|
Not sure where the overall work to migrate to the right toolchain for Ubuntu 22.04 is tracked. There is also the question of which version of gcc/g++ to reference in guides etc. |
I can use this PR to track the overall migration including the documentation. Will also include gcc/g++ updates here. |
6c327a7 to
2de1c20
Compare
e60358b to
273dc36
Compare
9a26c48 to
e1f3240
Compare
6d32580 to
2c50f58
Compare
12610f0 to
7f7f1f2
Compare
|
you may want to tweak the clang-format config to avoid spurious reformatting (usually it's because they add new config flags or change defaults). |
Thanks for the tip! Here are the three categories of formatting changes I looked into but the conclusion is that we could tackle them in a followup PR to not clutter this one. Let me know what you think.
|
graydon
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Handful of mostly doc nits. I don't really care what happens with the formatting.
Temporarily comment out restoring cached llvm-12 builds Update Github CI to run on Ubuntu 24.04 with clang-20 i# temporarily switch to standard GHA runner since 16-core jammy runner does not have some packages parent 691b19a983be2f3b561517714a9e01a854b4e19c author anupsdf <[email protected]> 1763712854 -0800 committer anupsdf <[email protected]> 1763713191 -0800 gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEsVPy9QBRCNnRvXpUEUPOcP21IwMFAmkgIKcACgkQEUPOcP21 IwPyaxAAu6VD+bcJrh3ecbfseNDO9JPaH62uoVKTJn7yOX/D/nIV1XnWflvJE/c8 ulgn9nvGWVCg8qCLQ5whxuPubVJQwvhKHzBvj7tBMw2iPAV0BOkgsSB+m3wzYxXl 0fiDhWtDw21ju+d3RMu+vrag8AXJLyfOpXLF3oRRO2uzB/XKpPL7UDdE63/d7sW1 qgsY3HIhPQ9DLkEOxYw0lVZPAl+WHNFm2BU+Af7XFI29y/e/L1HYTQ6700FUJVUp AFzqWmk6zZwHOeWk3ZpRmm20beLvHfx2nJGYFe0HnfJTay1VWKW8tH3mHxpzY/lu wblB0B+SIrpOLxHJcQrxRCdQ9xyujcCcq4Pv6Y8/X8Xzn86IH9BHOd/V6CEdwrWq JxWNuyB4XWIbDvCwKExFdxmB4Fe0XBQX5Nwnbu3/II78h5jt1f9M1dQ9Y9N58xIV 2Ha9dRPYA4dKvblyrIVM7mstlASWx+XzvC80aGx22EjlgxY0uP7/rStm1uqqrIT6 23jY53jx9dySMxAKaQ1Y+Nr+zB1Ig2G5IprNGh4VW/S/mj5K/4aNi68VMLVq7p5Z hie3RGA+lT8kaCIkbcwvG9zwr5tzXjyf/g1YgG41FOR0R0wqXuLgzNlAtT6r01zq DA9kC93QgekmntExsK4AAviJHWW2xrodzkj1zEXufoz+j/0y/7c= =DES8 -----END PGP SIGNATURE----- Co-authored-by: Graydon Hoare <[email protected]> Update INSTALL.md Co-authored-by: Graydon Hoare <[email protected]> restore from cache
| docker-build: | ||
| ifndef STELLAR_CORE_VERSION | ||
| $(error STELLAR_CORE_VERSION environment variable must be set. For example STELLAR_CORE_VERSION=17.0.0-557.096f6a7.focal ) | ||
| $(error STELLAR_CORE_VERSION environment variable must be set. For example STELLAR_CORE_VERSION=23.0.2-2724.7b9e6c863) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How will you deal with version strings such as 24.1.1-2874.5a7035d49.noble~notforprod ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think in a future clean up we should have RUN_TAG also passed in along with the DISTRO so we can append the them to the stellar-core-version.
What:
Update Github CI, docker setup and documentation to run on Ubuntu 24.04 with clang-20 and gcc-14
Why:
Since stellar-core packages would be produced for Ubuntu 22.04 (jammy) and 24.04 (noble) with clang-20 moving forward, we would like to switch our Github CI to run on the new leading OS version of Ubuntu.