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

Codechange: [CI] switch MacOS to the macos-14 runner #12237

Merged
merged 1 commit into from Mar 9, 2024

Conversation

TrueBrain
Copy link
Member

@TrueBrain TrueBrain commented Mar 8, 2024

Motivation / Problem

We have a few commits that cannot be merged because they fail on MacOS. Not because the code is wrong, but because the current MacOS version uses an older XCode, which don't have the proper fixes to make those PRs work.

Description

Switch to macos-14. All issues that initially came from this, are resolved in other PRs.

Limitations

Checklist for review

Some things are not automated, and forgotten often. This list is a reminder for the reviewers.

  • The bug fix is important enough to be backported? (label: 'backport requested')
  • This PR touches english.txt or translations? Check the guidelines
  • This PR affects the save game format? (label 'savegame upgrade')
  • This PR affects the GS/AI API? (label 'needs review: Script API')
    • ai_changelog.hpp, game_changelog.hpp need updating.
    • The compatibility wrappers (compat_*.nut) need updating.
  • This PR affects the NewGRF API? (label 'needs review: NewGRF')

@TrueBrain TrueBrain force-pushed the macos-14 branch 2 times, most recently from c9d2997 to 8a54f9a Compare March 8, 2024 20:04
@TrueBrain TrueBrain changed the title Change: [CI] switch MacOS to the macos-14 runner Change: [CI] switch MacOS to the macos-14 runner and use arm64 for CI Mar 8, 2024
@TrueBrain
Copy link
Member Author

https://github.com/TrueBrain/OpenTTD/actions/runs/8208446751/job/22451933562 to show the release build is also working fine.

@TrueBrain
Copy link
Member Author

(And yes, merging this requires changing which MacOS build is mandatory, and requires all PRs pending to rebase).

rubidium42
rubidium42 previously approved these changes Mar 8, 2024
Copy link
Contributor

@rubidium42 rubidium42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to force macos-14, or should we wait until macos-latest points to macos-14?

If we force it, we need to change it back to macos-latest at some point, or we'll run into trouble when macos-14 gets deprecated.
If we don't force it, builds will start failing at some random point in Q2 of 2024 and then we need to merge this PR at that unfortunate moment.

I personally think forcing macos-14 will have less impact on development as we can plan for it, instead of the migration happening at a random time.

Having said that, should we force macos-12 for the 14 branch, so that won't start failing when macos-latest becomes macos-14 and this PR has not been merged in there?

@TrueBrain
Copy link
Member Author

I have been thinking about this for a bit, and I have approached this the wrong way.

In general, we should always backport CI commits, as otherwise it might be that something works on master, and not on the release. And fixing those problems is very annoying. Also, that way it is more likely that releases will keep working.

This close for a new release, that is the only moment one can debate about this. But as we plan to do another RC, there is a much lower risk.

That said, I am going to do this PR a bit different, and split it in three. One which adds vcpkg to all targets, manually. So no matter what GitHub decides to do, our workflows work. The other to change macos to 14. And the last to change macos CI to arm64. And we should backport them all, if you ask me, before next RC :) Or otherwise wait with the latest -> 14 till just after the release, and backport it then.

@TrueBrain TrueBrain changed the title Change: [CI] switch MacOS to the macos-14 runner and use arm64 for CI Change: [CI] switch MacOS to the macos-14 runner Mar 9, 2024
@TrueBrain TrueBrain marked this pull request as draft March 9, 2024 10:31
@TrueBrain TrueBrain changed the title Change: [CI] switch MacOS to the macos-14 runner Codechange: [CI] switch MacOS to the macos-14 runner Mar 9, 2024
@TrueBrain TrueBrain added the backport requested This PR should be backport to current release (RC / stable) label Mar 9, 2024
This runner contains a newer XCode, with better C++20 support.
@TrueBrain TrueBrain marked this pull request as ready for review March 9, 2024 14:04
@TrueBrain
Copy link
Member Author

@TrueBrain TrueBrain enabled auto-merge (squash) March 9, 2024 14:07
@TrueBrain TrueBrain merged commit ebd258b into OpenTTD:master Mar 9, 2024
20 checks passed
michicc pushed a commit to Kuhnovic/OpenTTD that referenced this pull request Mar 9, 2024
This runner contains a newer XCode, with better C++20 support.
Kuhnovic pushed a commit that referenced this pull request Mar 11, 2024
This runner contains a newer XCode, with better C++20 support.
@Kuhnovic Kuhnovic added backported This PR is backported to a current release (RC / stable) and removed backport requested This PR should be backport to current release (RC / stable) labels Mar 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backported This PR is backported to a current release (RC / stable)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants