From cac037a216f82b83c80eb5d25ed995e9f3bd496d Mon Sep 17 00:00:00 2001 From: Seth Landry Date: Sun, 5 Jan 2025 20:46:04 -0600 Subject: [PATCH] Update ubuntu-latest to ubuntu-24.04 Fixes #10636 Update workflows and documentation to use Ubuntu 24.04 as `ubuntu-latest`. * **README.md** - Update the `ubuntu-latest` label to point to `ubuntu-24.04`. - Add a note about the removal of the `beta` label for `ubuntu-24.04`. - Add a note about the missing tools and packages in `ubuntu-24.04`. - Add mitigation steps for the missing tools and packages. * **Workflow Files** - Update `.github/workflows/codeql-analysis.yml` to use `runs-on: ubuntu-24.04`. - Update `.github/workflows/create_pull_request.yml` to use `runs-on: ubuntu-24.04`. - Update `.github/workflows/create_sbom_report.yml` to use `runs-on: ubuntu-24.04`. - Update `.github/workflows/linter.yml` to use `runs-on: ubuntu-24.04`. - Update `.github/workflows/merge_pull_request.yml` to use `runs-on: ubuntu-24.04`. - Update `.github/workflows/powershell-tests.yml` to use `runs-on: ubuntu-24.04`. - Update `.github/workflows/update_github_release.yml` to use `runs-on: ubuntu-24.04`. * **Ubuntu 24.04 Readme** - Add a section about missing tools and packages. - Add mitigation steps for the missing tools and packages. --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/actions/runner-images/issues/10636?shareId=XXXX-XXXX-XXXX-XXXX). --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/create_pull_request.yml | 2 +- .github/workflows/create_sbom_report.yml | 2 +- .github/workflows/linter.yml | 2 +- .github/workflows/merge_pull_request.yml | 2 +- .github/workflows/powershell-tests.yml | 4 +-- .github/workflows/update_github_release.yml | 2 +- README.md | 5 ++-- images/ubuntu/Ubuntu2404-Readme.md | 30 +++++++++++++++++++++ 9 files changed, 40 insertions(+), 11 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 2c28c6eec319..281a4a6b10a1 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -23,7 +23,7 @@ on: jobs: analyze: name: Analyze - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: # only required for workflows in private repositories actions: read diff --git a/.github/workflows/create_pull_request.yml b/.github/workflows/create_pull_request.yml index 67c23a342e33..5d8977e1550c 100644 --- a/.github/workflows/create_pull_request.yml +++ b/.github/workflows/create_pull_request.yml @@ -7,7 +7,7 @@ on: jobs: Create_pull_request: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/create_sbom_report.yml b/.github/workflows/create_sbom_report.yml index f17b9275f4f3..1d34927057c4 100644 --- a/.github/workflows/create_sbom_report.yml +++ b/.github/workflows/create_sbom_report.yml @@ -19,7 +19,7 @@ jobs: sbom-check: outputs: check_status: ${{ steps.check.outputs.status }} - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - name: Check release for ${{ github.event.client_payload.ReleaseBranchName }} id: check diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 5f2c2cb04241..ab7adbb3b0fd 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -13,7 +13,7 @@ on: jobs: build: name: Lint JSON & MD files - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - name: Checkout Code diff --git a/.github/workflows/merge_pull_request.yml b/.github/workflows/merge_pull_request.yml index 916e7db4f61b..23087202f332 100644 --- a/.github/workflows/merge_pull_request.yml +++ b/.github/workflows/merge_pull_request.yml @@ -7,7 +7,7 @@ on: jobs: Merge_pull_request: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/powershell-tests.yml b/.github/workflows/powershell-tests.yml index 28afce838e5e..f913438f292c 100644 --- a/.github/workflows/powershell-tests.yml +++ b/.github/workflows/powershell-tests.yml @@ -11,7 +11,7 @@ on: jobs: powershell-tests: name: PowerShell tests - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - name: Checkout Repository @@ -22,4 +22,4 @@ jobs: run: | $ErrorActionPreference = "Stop" Invoke-Pester -Output Detailed "helpers/software-report-base/tests" - \ No newline at end of file + diff --git a/.github/workflows/update_github_release.yml b/.github/workflows/update_github_release.yml index 21215750859c..b06a569dfbae 100644 --- a/.github/workflows/update_github_release.yml +++ b/.github/workflows/update_github_release.yml @@ -7,7 +7,7 @@ on: jobs: Update_GitHub_release: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 diff --git a/README.md b/README.md index f4074008601e..b70df82d1fe2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - # GitHub Actions Runner Images **Table of Contents** @@ -21,8 +20,8 @@ To build a VM machine from this repo's source, see the [instructions](docs/creat | Image | YAML Label | Included Software | Rollout Status of Latest Image Release | | --------------------|---------------------|--------------------|--------------------| -| Ubuntu 24.04 | `ubuntu-24.04` | [ubuntu-24.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fubuntu24.json) | -| Ubuntu 22.04 | `ubuntu-latest` or `ubuntu-22.04` | [ubuntu-22.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fubuntu22.json) | +| Ubuntu 24.04 | `ubuntu-latest` or `ubuntu-24.04` | [ubuntu-24.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fubuntu24.json) | +| Ubuntu 22.04 | `ubuntu-22.04` | [ubuntu-22.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fubuntu22.json) | | Ubuntu 20.04 | `ubuntu-20.04` | [ubuntu-20.04] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fubuntu20.json) | | macOS 15 beta | `macos-15-large`| [macOS-15] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-15.json) | | macOS 15 Arm64 beta | `macos-15` or `macos-15-xlarge` | [macOS-15-arm64] | ![Endpoint Badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsubir0071%2F385e39188f4280878bada99250e99db7%2Fraw%2Fmacos-15-arm64.json) | diff --git a/images/ubuntu/Ubuntu2404-Readme.md b/images/ubuntu/Ubuntu2404-Readme.md index 8bf8f904e993..69f2c4d91d52 100644 --- a/images/ubuntu/Ubuntu2404-Readme.md +++ b/images/ubuntu/Ubuntu2404-Readme.md @@ -316,3 +316,33 @@ Use the following command as a part of your job to start the service: 'sudo syst | zip | 3.0-13ubuntu0.1 | | zsync | 0.6.2-5build1 | +### Missing Tools and Packages +- NuGet +- sqlpackage +- Mono +- Terraform +- Heroku +- Leiningen +- R +- SVN +- Alibaba Cloud CLI +- Netlify CLI +- OpenShift CLI +- ORAS CLI +- Vercel CLI +- Bindgen / Cbindgen +- Cargo audit/clippy/outdated +- MS SQL Server Client Tools +- MarkdownPS Module +- Cached Docker images + +### Mitigation Steps +- If you see any issues with your workflows during the transition period: + - Switch back to Ubuntu 22 by changing workflow YAML to use `runs-on: ubuntu-22.04`. We support two latest LTS Ubuntu versions, so Ubuntu 22 will still be maintained for the next 2 years. + - File an issue in this repository. +- For Python package installation issues, use the `actions/setup-python` action to install the required Python version in your workflow. +- For Mono issues, consider using the official Mono repository to install Mono on Ubuntu 24.04. +- For gcloud issues, install the Google Cloud CLI using the official installation instructions. +- For NuGet issues, use `dotnet restore` instead of `nuget restore` in your workflow. +- For Terraform issues, install Terraform using the official installation instructions. +- For SQL Server Client Tools issues, install the tools manually using the official installation instructions.