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

Upgrade to Ubuntu 24.04 #514

Closed
smolkaj opened this issue Dec 13, 2024 · 6 comments
Closed

Upgrade to Ubuntu 24.04 #514

smolkaj opened this issue Dec 13, 2024 · 6 comments
Labels
good first issue Good for newcomers

Comments

@smolkaj
Copy link
Member

smolkaj commented Dec 13, 2024

GitHub Actions recently upgraded ubuntu-latest from 22.04 to 24.04: actions/runner-images#10636

However, this broke our builds and thus we temporarily pinned to 22.04: #513
This issue tracks making our builds compatible with 24.04 and moving back to ubuntu-latest as a healthy forcing function to prevent bit rot.

cc @chrispsommers @jafingerhut

@smolkaj smolkaj added the good first issue Good for newcomers label Dec 13, 2024
@smolkaj
Copy link
Member Author

smolkaj commented Dec 13, 2024

@fruffy @jonathan-dilorenzo have you by any chance dealt with this problem for p4c yet? Any pointers you'd be able to share?

@fruffy
Copy link
Contributor

fruffy commented Dec 13, 2024

Do not use ubuntu-latest in the actions, instead specify the version explicitly. This should avoid the problem.

https://github.com/p4lang/p4c/blob/main/.github/workflows/ci-test-debian.yml#L19

@fruffy
Copy link
Contributor

fruffy commented Dec 13, 2024

Most Ubuntu 24.04 are related to Python breaking changes. They are quite the pain to deal with.

@smolkaj
Copy link
Member Author

smolkaj commented Dec 13, 2024

Do not use ubuntu-latest in the actions, instead specify the version explicitly. This should avoid the problem.

https://github.com/p4lang/p4c/blob/main/.github/workflows/ci-test-debian.yml#L19

Yup, that's what we did: #513

However, I actually think NOT pinning versions is a healthy forcing function to prevent bit rot, so I'm hoping to revert to ubuntu-latest once we have gotten things to work with Ubuntu 24.04.

@fruffy
Copy link
Contributor

fruffy commented Dec 13, 2024

However, I actually think NOT pinning versions is a healthy forcing function to prevent bit rot, so I'm hoping to revert to ubuntu-latest once we have gotten things to work with Ubuntu 24.04.

In that case you might break older versions though, which can be disruptive. For example, the compiler guarantees to support Ubuntu 20.04, 22.04, MacOS Ventura and Sonoma. We even still support Ubuntu 18.04. To start supporting newer versions we eventually just add the action explicitly once the build system is ready. To deprecate a version we create an explicit issue, too.

@smolkaj
Copy link
Member Author

smolkaj commented Dec 13, 2024

That makes sense, agreed that not breaking older Ubuntu versions seems valuable.

I guess another way to achieve that would be to use pinned versions for older Ubuntu versions we want to support, and additionally ubuntu-latest to prevent bit rot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants