Skip to content
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

Bump CI compiler versions (and update the docs) #79517

Merged
merged 3 commits into from
Feb 8, 2025

Conversation

moxian
Copy link
Contributor

@moxian moxian commented Feb 3, 2025

Summary

None

Purpose of change

The intent (at least per the existing docs) is to test the oldest supported compiler versions, and the newest ones. The older compilers are there to ensure that we don't introduce "too new" features into the codebase and break people on the old systems. The newer compilers are there to ensure that the new compilers don't break us (i.e. by introducing a new optional warning that we treat as error due to -Werror).

We fell a bit behind on the newest, so this PR bumps them.

Describe the solution

clang: 12 -> 18
gcc: 11 -> 12*

The gcc would have been bumped to gcc-14, but our ASan tests fail on the latest runner images (ubuntu-24.04) (see comments), so i've bumped to the latest gcc available on ubuntu-22.04 instead.
It would be niceto figure out what's going on, but not today.

Also update comments and add a pretty feature matrix table.

Drive-by change: update macOS job name from "Clang 14, macOS 12" to "macOS 13, Apple Clang 15 " to reflect reality, and put extra emphasis on the fact that this is macOS, and not merely a different linux flavour.
(the ccache key update is not technically neccessary, but it looks prettier when it's synced with the job name)

Describe alternatives you've considered

Testing

CI would self-test. (But also, i tried it in CI in my fork, and it seemed to work at the time).

Additional context

@github-actions github-actions bot added Code: Tooling Tooling that is not part of the main game but is part of the repo. json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions labels Feb 3, 2025
@moxian
Copy link
Contributor Author

moxian commented Feb 4, 2025

gcc-14+ASan timing out the tests on CI is not a good sign

@moxian moxian marked this pull request as draft February 4, 2025 23:43
@moxian
Copy link
Contributor Author

moxian commented Feb 5, 2025

gcc-14+ASan times out tests consistently after 6 hours. It's not a one-off fluke. As far as I can see this has not been the problem with our current gcc-11 - tests there finish within an hour or so.

Sadly, I don't feel in the mood to debug it right now, so I'll try to go for a middle ground and set it togcc-13 instead, for the short term, and see if that helps.

@moxian
Copy link
Contributor Author

moxian commented Feb 6, 2025

gcc-13 doesn't work (same symptoms)
nor does gcc-12

Is it not a question of gcc version but rather that of OS ? 🤔

I also haven't noticed until just now that we have a special handling of clang-12 which can now be removed? question mark?
Further research required...

@moxian
Copy link
Contributor Author

moxian commented Feb 7, 2025

It's the OS.
For gcc-12:
22.04 works - https://github.com/moxian/Cataclysm-DDA/actions/runs/13176636773/job/36819050904
24.04 times out - https://github.com/moxian/Cataclysm-DDA/actions/runs/13176636773/job/36819051070
(ignore the job names - I messed up there. See the runner image in the Set up job step and the compiler name in the build)

we are using macOS13, not 12, and it's running
Apple Clang 15, not regualar clang 13
(apple clang versioning is disjoint from regular clang,
and it can get confusing when the two are conflated)
clang: 12 -> 18
gcc:   11 -> 12*

* would have been 14, but asan tests fail on ubuntu-22.04
@moxian moxian marked this pull request as ready for review February 7, 2025 22:02
@moxian moxian marked this pull request as draft February 8, 2025 04:18
@moxian moxian marked this pull request as ready for review February 8, 2025 04:18
@moxian moxian marked this pull request as draft February 8, 2025 08:40
@moxian moxian marked this pull request as ready for review February 8, 2025 08:40
@Maleclypse Maleclypse merged commit f776baf into CleverRaven:master Feb 8, 2025
49 of 59 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions Code: Tooling Tooling that is not part of the main game but is part of the repo. json-styled JSON lint passed, label assigned by github actions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants