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

[CI] Update OS base image to ubuntu-24.04 #109536

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Damien-Chen
Copy link

@Damien-Chen Damien-Chen commented Sep 21, 2024

In Github Actions, ubuntu-24.04 is released as GA recently. It`s better to switch to new version of Ubuntu.

Copy link

Thank you for submitting a Pull Request (PR) to the LLVM Project!

This PR will be automatically labeled and the relevant teams will be notified.

If you wish to, you can add reviewers by using the "Reviewers" section on this page.

If this is not working for you, it is probably because you do not have write permissions for the repository. In which case you can instead tag reviewers by name in a comment by using @ followed by their GitHub username.

If you have received no comments on your PR for a week, you can request a review by "ping"ing the PR by adding a comment “Ping”. The common courtesy "ping" rate is once a week. Please remember that you are asking for valuable time from other developers.

If you have further questions, they may be answered by the LLVM GitHub User Guide.

You can also ask questions in a comment on this PR, on the LLVM Discord or on the forums.

@llvmbot
Copy link
Collaborator

llvmbot commented Sep 21, 2024

@llvm/pr-subscribers-github-workflow

Author: Damien (Damien-Chen)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/109536.diff

9 Files Affected:

  • (modified) .github/workflows/build-ci-container.yml (+1-1)
  • (modified) .github/workflows/ci-post-commit-analyzer.yml (+2-2)
  • (modified) .github/workflows/commit-access-review.yml (+1-1)
  • (modified) .github/workflows/containers/github-action-ci/stage1.Dockerfile (+1-1)
  • (modified) .github/workflows/containers/github-action-ci/stage2.Dockerfile (+1-1)
  • (modified) .github/workflows/release-asset-audit.yml (+1-1)
  • (modified) .github/workflows/release-binaries-all.yml (+2-2)
  • (modified) .github/workflows/release-binaries.yml (+2-2)
  • (modified) .github/workflows/release-tasks.yml (+1-1)
diff --git a/.github/workflows/build-ci-container.yml b/.github/workflows/build-ci-container.yml
index 28fc7de2ee0654..989aee2a01daa4 100644
--- a/.github/workflows/build-ci-container.yml
+++ b/.github/workflows/build-ci-container.yml
@@ -60,7 +60,7 @@ jobs:
         id: vars
         run: |
           tag=`date +%s`
-          container_name="ghcr.io/$GITHUB_REPOSITORY_OWNER/ci-ubuntu-22.04"
+          container_name="ghcr.io/$GITHUB_REPOSITORY_OWNER/ci-ubuntu-24.04"
           echo "container-name=$container_name" >> $GITHUB_OUTPUT
           echo "container-name-tag=$container_name:$tag" >> $GITHUB_OUTPUT
 
diff --git a/.github/workflows/ci-post-commit-analyzer.yml b/.github/workflows/ci-post-commit-analyzer.yml
index d614dd07b3a493..d021c1e9430f0e 100644
--- a/.github/workflows/ci-post-commit-analyzer.yml
+++ b/.github/workflows/ci-post-commit-analyzer.yml
@@ -34,9 +34,9 @@ jobs:
     if: >-
       github.repository_owner == 'llvm' &&
       github.event.action != 'closed'
-    runs-on: ubuntu-22.04
+    runs-on: ubuntu-24.04
     container:
-      image: 'ghcr.io/llvm/ci-ubuntu-22.04:latest'
+      image: 'ghcr.io/llvm/ci-ubuntu-24.04:latest'
     env:
       LLVM_VERSION: 18
     steps:
diff --git a/.github/workflows/commit-access-review.yml b/.github/workflows/commit-access-review.yml
index f9195a1863deec..0466fb7c4bd000 100644
--- a/.github/workflows/commit-access-review.yml
+++ b/.github/workflows/commit-access-review.yml
@@ -12,7 +12,7 @@ permissions:
 jobs:
   commit-access-review:
     if: github.repository_owner == 'llvm'
-    runs-on: ubuntu-22.04
+    runs-on: ubuntu-24.04
     steps:
       - name: Fetch LLVM sources
         uses: actions/checkout@v4
diff --git a/.github/workflows/containers/github-action-ci/stage1.Dockerfile b/.github/workflows/containers/github-action-ci/stage1.Dockerfile
index 73828cc05736e6..285f3256dd37cb 100644
--- a/.github/workflows/containers/github-action-ci/stage1.Dockerfile
+++ b/.github/workflows/containers/github-action-ci/stage1.Dockerfile
@@ -1,4 +1,4 @@
-FROM docker.io/library/ubuntu:22.04 as base
+FROM docker.io/library/ubuntu:24.04 as base
 ENV LLVM_SYSROOT=/opt/llvm
 
 FROM base as stage1-toolchain
diff --git a/.github/workflows/containers/github-action-ci/stage2.Dockerfile b/.github/workflows/containers/github-action-ci/stage2.Dockerfile
index 0ca0da87734c4c..8aa3adb65c7b30 100644
--- a/.github/workflows/containers/github-action-ci/stage2.Dockerfile
+++ b/.github/workflows/containers/github-action-ci/stage2.Dockerfile
@@ -1,4 +1,4 @@
-FROM docker.io/library/ubuntu:22.04 as base
+FROM docker.io/library/ubuntu:24.04 as base
 ENV LLVM_SYSROOT=/opt/llvm
 
 FROM stage1-toolchain AS stage2-toolchain
diff --git a/.github/workflows/release-asset-audit.yml b/.github/workflows/release-asset-audit.yml
index 018c5d542f32eb..8112d8a1408100 100644
--- a/.github/workflows/release-asset-audit.yml
+++ b/.github/workflows/release-asset-audit.yml
@@ -19,7 +19,7 @@ permissions:
 jobs:
   audit:
     name: "Release Asset Audit"
-    runs-on: ubuntu-22.04
+    runs-on: ubuntu-24.04
     if: github.repository == 'llvm/llvm-project'
     steps:
       - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 #v4.1.6
diff --git a/.github/workflows/release-binaries-all.yml b/.github/workflows/release-binaries-all.yml
index 394b0c74d24edd..ac49a0b315d53f 100644
--- a/.github/workflows/release-binaries-all.yml
+++ b/.github/workflows/release-binaries-all.yml
@@ -52,7 +52,7 @@ jobs:
   setup-variables:
     if: >-
       (github.event_name != 'pull_request' || github.event.action != 'closed')
-    runs-on: ubuntu-22.04
+    runs-on: ubuntu-24.04
     outputs:
       release-version: ${{ steps.vars.outputs.release-version }}
       upload: ${{ steps.vars.outputs.upload }}
@@ -81,7 +81,7 @@ jobs:
       fail-fast: false
       matrix:
         runs-on:
-          - ubuntu-22.04
+          - ubuntu-24.04
           - windows-2022
           - macos-13
           - macos-14
diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml
index 925912df6843e4..e60f4bc8d55dca 100644
--- a/.github/workflows/release-binaries.yml
+++ b/.github/workflows/release-binaries.yml
@@ -17,7 +17,7 @@ on:
         required: true
         type: choice
         options:
-          - ubuntu-22.04
+          - ubuntu-24.04
           - windows-2022
           - macos-13
           - macos-14
@@ -413,7 +413,7 @@ jobs:
       always() &&
       github.event_name != 'pull_request' &&
       needs.prepare.outputs.upload == 'true'
-    runs-on: ubuntu-22.04
+    runs-on: ubuntu-24.04
     permissions:
       contents: write # For release uploads
       id-token: write     # For artifact attestations
diff --git a/.github/workflows/release-tasks.yml b/.github/workflows/release-tasks.yml
index 780dd0ff6325c9..e71994b5629db0 100644
--- a/.github/workflows/release-tasks.yml
+++ b/.github/workflows/release-tasks.yml
@@ -93,7 +93,7 @@ jobs:
       fail-fast: false
       matrix:
         runs-on:
-          - ubuntu-22.04
+          - ubuntu-24.04
           - windows-2022
           - macos-13
           - macos-14

@@ -81,7 +81,7 @@ jobs:
fail-fast: false
matrix:
runs-on:
- ubuntu-22.04
- ubuntu-24.04
Copy link
Collaborator

Choose a reason for hiding this comment

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

It's by design that we want to build release binaries on the oldest supported Ubuntu version, because they will work on newer versions too. Binaries built on new versions of Ubuntu won't work on older versions.

Copy link
Collaborator

@tstellar tstellar left a comment

Choose a reason for hiding this comment

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

Hi, thanks for the PR.

I'm not sure we want to just bump everything up to a newer version. As I mentioned, we need to build the release binaries on older versions. It's probably safe to do this for the release-asset-audit, release-tasks, commit-access-review, and ci-post-commit-analyzer, but I don't see a compelling reason to do this.

What advantages do you see to using a newer version of Ubuntu?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants