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

Change base OS image to Ubuntu-24.04 in CI testing #122544

Open
Damien-Chen opened this issue Aug 1, 2024 · 11 comments
Open

Change base OS image to Ubuntu-24.04 in CI testing #122544

Damien-Chen opened this issue Aug 1, 2024 · 11 comments
Labels
infra CI, GitHub Actions, buildbots, Dependabot, etc. type-feature A feature request or enhancement

Comments

@Damien-Chen
Copy link
Contributor

Damien-Chen commented Aug 1, 2024

In current ci.yml, base OS image is ubuntu-22.04, should we move to the latest LTS verion: ubuntu-24.04 ?

pool:
vmImage: ubuntu-22.04

To go further, if we should replace all current CI testing which run on ubuntu-22.04 to ubuntu-24.04 ?

Linked PRs

@Damien-Chen Damien-Chen added the type-feature A feature request or enhancement label Aug 1, 2024
@Eclips4
Copy link
Member

Eclips4 commented Aug 1, 2024

cc @hugovk @ezio-melotti

@Damien-Chen Damien-Chen changed the title Change base OS image to Ubuntu-24.04 in ci.yaml Change base OS image to Ubuntu-24.04 in CI testing Aug 1, 2024
@hugovk
Copy link
Member

hugovk commented Aug 1, 2024

Thanks for the report, we're using ubuntu-22.04 in Read the Docs, Azure Pipelines and GitHub Actions:

rg ubuntu-22.04
.readthedocs.yml
11:  os: ubuntu-22.04

.azure-pipelines/ci.yml
8:    vmImage: ubuntu-22.04

.azure-pipelines/pr.yml
8:    vmImage: ubuntu-22.04
20:    vmImage: ubuntu-22.04

.github/workflows/build.yml
47:    runs-on: ubuntu-22.04
198:    runs-on: ubuntu-22.04
264:    runs-on: ubuntu-22.04
378:    runs-on: ubuntu-22.04

.github/workflows/reusable-wasi.yml
12:    runs-on: ubuntu-22.04

.github/workflows/reusable-tsan.yml
22:    runs-on: ubuntu-22.04

.github/workflows/reusable-ubuntu.yml
17:    runs-on: ubuntu-22.04

Yes, let's upgrade, assuming all the dependencies and everything installs fine.

Would you like to open some PRs? I suggest a separate PR for each of Read the Docs, Azure Pipelines and GitHub Actions.

@Damien-Chen
Copy link
Contributor Author

Sure!, Of course, I'd love to contribute to this, let me first investigate if it would affect the result of CI testing if just simply change ubuntu-22.04 to ubuntu-24.04.

@picnixz
Copy link
Contributor

picnixz commented Aug 1, 2024

We are also using Ubuntu 22.04 for generating the configure script in the Docker image but I don't think we should change this one. This is in Tools/build/regen-configure.sh (I don't know whether the CI/CD is using its own packages or whether is using the docker script to check the configuration scripts)

@hugovk
Copy link
Member

hugovk commented Aug 1, 2024

The comment at the top says they should match:

# The check_generated_files job of .github/workflows/build.yml must kept in
# sync with this script. Use the same container image than the job so the job
# doesn't need to run autoreconf in a container.
IMAGE="ubuntu:22.04"

Which should be the same as this one:

check_generated_files:
name: 'Check if generated files are up to date'
# Don't use ubuntu-latest but a specific version to make the job
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
runs-on: ubuntu-22.04

@picnixz
Copy link
Contributor

picnixz commented Aug 1, 2024

The comment at the top says they should match:

Oh then we should update both of them then! (and I'll need to update my PR in the devguide as well)

@Damien-Chen
Copy link
Contributor Author

Some other yml file based on ubunut-latest, for exmaple: in jit.yml. based on
https://github.com/actions/runner-images description, ubuntu-latest is actually ubuntu-22.04, should those file mentioned ubuntu-latest need to upgrade ubuntu version ?

     architecture: x86_64
        runner: ubuntu-latest
        compiler: gcc
      - target: x86_64-unknown-linux-gnu/clang
        architecture: x86_64
        runner: ubuntu-latest
        compiler: clang
      - target: aarch64-unknown-linux-gnu/gcc
        architecture: aarch64
        runner: ubuntu-latest
        compiler: gcc
      - target: aarch64-unknown-linux-gnu/clang
        architecture: aarch64
        runner: ubuntu-latest
        compiler: clang

@hugovk
Copy link
Member

hugovk commented Aug 2, 2024

No, let's not change any ubuntu-latest.

In fact, https://github.com/actions/runner-images?tab=readme-ov-file#available-images says ubuntu-24.04 is still beta, maybe we should wait until it is in GA (General Availability)?

Do you know when GA is planned?

@Damien-Chen
Copy link
Contributor Author

Damien-Chen commented Aug 2, 2024

According to there discussion in
actions/runner-images#9691
The GA will be somewhere in August-2024, I think it should be soon.

I think we can move all CI-testing step-by-step.
First change trivial CI testiing(like readthedocs) to ubuntu-24.04 to make sure everything works correctly.
If everthing goes well, then we can wait its GA and move core part(like checking JIT) to ubuntu-24.04 gradually

miss-islington pushed a commit to miss-islington/cpython that referenced this issue Aug 2, 2024
miss-islington pushed a commit to miss-islington/cpython that referenced this issue Aug 2, 2024
@python python deleted a comment Aug 2, 2024
@Damien-Chen
Copy link
Contributor Author

Damien-Chen commented Aug 4, 2024

Close PR for Azure Pipeline as it currently not supports ubuntu-24.04

@Damien-Chen
Copy link
Contributor Author

According to latest update in Github Action, ubuntu-24.04 is release as GA now, let`s continue to work it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infra CI, GitHub Actions, buildbots, Dependabot, etc. type-feature A feature request or enhancement
Projects
None yet
Development

No branches or pull requests

5 participants
@hugovk @picnixz @Eclips4 @Damien-Chen and others