-
Notifications
You must be signed in to change notification settings - Fork 11
chore: update workflow to use Ubuntu 22.04 instead of 20.04 #1261
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
Conversation
Reviewer's GuideThis PR updates the GitHub Actions workflows by changing the File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
WalkthroughThis update modifies several GitHub Actions workflow files to upgrade the Ubuntu runner versions used in various CI jobs. The Changes
Possibly related PRs
Suggested labels
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @Czaki - I've reviewed your changes - here's some feedback:
- Consider updating the title to fix the typo ("usue" should be "use").
- This PR introduces both
ubuntu-22.04
andubuntu-24.04
; consider using a single version consistently unless the variation is intentional.
Here's what I looked at during the review
- 🟢 General issues: all looks good
- 🟢 Security: all looks good
- 🟢 Testing: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/make_release.yml
(1 hunks).github/workflows/test_napari_widgets.yml
(1 hunks).github/workflows/tests.yml
(2 hunks)
⏰ Context from checks skipped due to timeout of 300000ms (32)
- GitHub Check: Base py3.10 / ubuntu-24.04 py 3.10 latest PySide6
- GitHub Check: Base py3.10 / ubuntu-22.04 py 3.10 latest PySide2
- GitHub Check: Base py3.9 / ubuntu-24.04 py 3.9 latest PyQt5
- GitHub Check: Base py3.11 / windows-latest py 3.11 latest PyQt5
- GitHub Check: Base py3.10 / ubuntu-22.04 py 3.10 latest PyQt5 _pydantic_1
- GitHub Check: Base py3.11 / macos-13 py 3.11 latest PyQt5
- GitHub Check: Base py3.11 / ubuntu-24.04 py 3.11 latest PyQt5
- GitHub Check: Base py3.12 / ubuntu-22.04 py 3.12 latest PyQt6
- GitHub Check: Base py3.12 / macos-14 py 3.12 latest PyQt6
- GitHub Check: Base py3.10 / ubuntu-24.04 py 3.10 latest PyQt5
- GitHub Check: test_coverage / ubuntu-24.04 py 3.12 latest PyQt5
- GitHub Check: Test PartSeg minimal / ubuntu-24.04 py 3.9 latest PyQt5
- GitHub Check: Base py3.12 / ubuntu-24.04 py 3.12 latest PyQt5
- GitHub Check: Test PartSeg conda
- GitHub Check: Build PyInstaller bundle (macos-13)
- GitHub Check: Build PyInstaller bundle (ubuntu-22.04)
- GitHub Check: Build PyInstaller bundle (macos-14)
- GitHub Check: Build PyInstaller bundle (windows-2019)
- GitHub Check: 4DNucleome.PartSeg (Tests_other test windows)
- GitHub Check: 4DNucleome.PartSeg (Tests_other test macos)
- GitHub Check: 4DNucleome.PartSeg (Tests_linux test_linux)
- GitHub Check: 4DNucleome.PartSeg (Builds pyinstaller windows)
- GitHub Check: 4DNucleome.PartSeg (Builds pyinstaller macos_arm)
- GitHub Check: 4DNucleome.PartSeg (Builds pyinstaller macos)
- GitHub Check: 4DNucleome.PartSeg (Builds sdist)
- GitHub Check: 4DNucleome.PartSeg (Builds pyinstaller_linux)
- GitHub Check: 4DNucleome.PartSeg (Documentation_check help)
- GitHub Check: 4DNucleome.PartSeg (formatting_check check_formating)
- GitHub Check: 4DNucleome.PartSeg (manifest_check manifest_check)
- GitHub Check: 4DNucleome.PartSeg (Documentation_check Notebook_check)
- GitHub Check: 4DNucleome.PartSeg (GetTestData linux)
- GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (3)
.github/workflows/tests.yml (2)
33-33
: Use Ubuntu 22.04 for download_data job
Thedownload_data
job’s runner has been correctly updated toubuntu-22.04
, aligning with other workflows and ensuring continued LTS support.
68-68
: Ensure PySide2 tests run on Ubuntu 22.04
The matrix include forpython_version: "3.10"
andqt_backend: "PySide2"
specifiesubuntu-22.04
, which is consistent with the download_data job and other test configurations..github/workflows/make_release.yml (1)
31-31
: Upgrade PyInstaller bundle runner to Ubuntu 22.04
Updating thebuild_pyinstaller_bundle
matrix to useubuntu-22.04
standardizes the build environment on the latest LTS runner.
@@ -45,7 +45,7 @@ jobs: | |||
uses: ./.github/workflows/base_test_workflow.yml | |||
with: | |||
python_version: "3.9" | |||
os: "ubuntu-20.04" | |||
os: "ubuntu-24.04" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Validate GitHub runner label
The runner label ubuntu-24.04
is not a supported GitHub Actions runner. Please switch to a valid label such as ubuntu-22.04
or ubuntu-latest
to ensure the job executes correctly.
Apply this diff:
- os: "ubuntu-24.04"
+ os: "ubuntu-22.04"
🤖 Prompt for AI Agents (early access)
In .github/workflows/test_napari_widgets.yml at line 48, the runner label "ubuntu-24.04" is invalid for GitHub Actions. Replace "ubuntu-24.04" with a supported label like "ubuntu-22.04" or "ubuntu-latest" to ensure the workflow runs correctly on a valid GitHub runner.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Based on the search results, I need to verify if Ubuntu 24.04 is now available as a GitHub Actions runner. Let me check the official GitHub documentation.
@Czaki You're absolutely right! I apologize for the incorrect suggestion. Ubuntu 24.04 (Noble Numbat) is indeed officially supported as a GitHub Actions runner. It was added to the supported runners after its release in April 2024. Your workflow configuration using "ubuntu-24.04" is valid and up-to-date.
🌐 Web query:
Does GitHub Actions support ubuntu-24.04 runner?
💡 Result:
Yes, GitHub Actions fully supports the Ubuntu 24.04 runner. Ubuntu 24.04 was initially released in beta in May 2024 and became generally available (GA) for all GitHub Actions and Azure DevOps users in July 2024[3].
You can use the Ubuntu 24.04 image in your GitHub Actions workflows by specifying either ubuntu-24.04
or ubuntu-latest
in your workflow YAML file's runs-on
parameter[6]. As of May 2025, ubuntu-latest
now points to Ubuntu 24.04 rather than Ubuntu 22.04[2][6].
Timeline of Ubuntu 24.04 in GitHub Actions
- May 14, 2024: Ubuntu 24.04 was released as a public beta for GitHub Actions[10]
- July 2024: Ubuntu 24.04 became generally available for all customers
- September 25, 2024: GitHub officially announced Ubuntu 24.04 was generally available[9]
- Between December 5, 2024, and January 17, 2025: GitHub gradually migrated all
ubuntu-latest
workflows to Ubuntu 24.04[7]
Important Changes with Ubuntu 24.04
The migration to Ubuntu 24.04 came with some significant changes that affected many workflows:
- A reduced set of pre-installed packages compared to Ubuntu 22.04[7]
- Different default software versions for various languages and tools[7]
- Some packages that were available in Ubuntu 22.04 are no longer available in Ubuntu 24.04[2]
If you encounter compatibility issues with Ubuntu 24.04, you can still explicitly specify ubuntu-22.04
in your workflows to use the previous version[2][7].
Using Ubuntu 24.04 in Your Workflows
To use the Ubuntu 24.04 runner in your GitHub Actions workflows, you can specify it in your YAML configuration like this:
jobs:
build:
runs-on: ubuntu-24.04 # or ubuntu-latest
steps:
- uses: actions/checkout@v4
# Your other workflow steps
The Ubuntu 24.04 image is fully documented in the GitHub Actions runner-images repository, where you can find a comprehensive list of pre-installed software and other specifications[1][6].
Citations:
- 1: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
- 2: Ubuntu-latest workflows will use Ubuntu-24.04 image actions/runner-images#10636
- 3: Ubuntu 24.04 is now available actions/runner-images#9848
- 4: https://github.com/actions/actions-runner-controller/pull/3598/files
- 5: https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners
- 6: https://github.com/actions/runner-images
- 7: https://dev.to/siddhantkcode/critical-changes-coming-to-github-actions-ubuntu-24-migration-guide-oo8
- 8: https://talk.jekyllrb.com/t/building-error-on-github-actions/9471
- 9: https://github.blog/changelog/2024-09-25-actions-new-images-and-ubuntu-latest-changes/
- 10: https://github.blog/changelog/2024-05-14-github-hosted-runners-public-beta-of-ubuntu-24-04-is-now-available/
🌐 Web query:
GitHub Actions runners documentation ubuntu-24.04
💡 Result:
GitHub Actions Runners: Ubuntu 24.04 Documentation and Status
Overview
GitHub Actions runners execute jobs on virtual machines (VMs) provided by GitHub, or on self-hosted environments. Ubuntu 24.04 (“Noble Numbat”) is now available as one of the newest environments for GitHub-hosted runners and has recently transitioned from beta to a generally available option[4][9].
How to Use Ubuntu 24.04 in Workflows
- To select Ubuntu 24.04 for your jobs, specify either
ubuntu-24.04
orubuntu-latest
in theruns-on
field in your workflow YAML file. - Example:
jobs: build: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - run: echo "Hello from Ubuntu 24.04"
- As of mid-2024, the
ubuntu-latest
label now points to Ubuntu 24.04 rather than Ubuntu 22.04[3][6].
Key Details about Ubuntu 24.04 Runner Images
- OS Version: 24.04.2 LTS
- Kernel Version: 6.11.0-1012-azure
- Installed Software: For the most up-to-date list of pre-installed tools and software, refer to the [official Ubuntu 24.04 runner image readme][1].
- Changelog: Ubuntu 24.04 images may not include some older packages (such as Clang 11/12), and some software configurations may differ from 22.04[3][4]. Always consult the image readme and test your workflows when upgrading.
- Breaking Changes: Some Python packages and other system dependencies may need to be manually installed or updated due to changes in the default OS environment[3][4].
Transition from Ubuntu 22.04 to 24.04
- The change from Ubuntu 22.04 to 24.04 as the default for
ubuntu-latest
started rolling out in July 2024[3]. - Some existing workflows may experience breaking changes, especially if relying on older system packages that have been deprecated or removed.
- If compatibility issues arise, you can explicitly set your jobs to use
ubuntu-22.04
for continued stability during migration[3].
Self-Hosted and Custom Runners
- For self-hosted environments or custom GitHub runners (on Kubernetes, Packer, etc.), you may need to build your own images or scripts tailored for Ubuntu 24.04[7][8].
- The [runner-images repository][6] provides guidance and community support for customizing or extending runner images.
References and Additional Reading
- [Ubuntu 24.04 Image Readme with full installed software list][1]
- [GitHub Docs: About GitHub-hosted runners][2]
- [GitHub Actions runner images repository][6]
- [GitHub Changelog: Ubuntu 24.04 public beta announcement][9]
Summary Table: Runner Labels
Label | OS Version | Typical Usage |
---|---|---|
ubuntu-latest | Ubuntu 24.04 | Default, always latest supported |
ubuntu-24.04 | Ubuntu 24.04 | Explicitly select this version |
ubuntu-22.04 | Ubuntu 22.04 | For legacy compatibility workflows |
To ensure your workflows succeed, regularly check the [Ubuntu 24.04 runner image documentation][1], update your dependencies, and verify your CI/CD logic as new image versions are released.
Citations:
- 1: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
- 2: https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners
- 3: Ubuntu-latest workflows will use Ubuntu-24.04 image actions/runner-images#10636
- 4: Ubuntu 24.04 is now available actions/runner-images#9848
- 5: https://depot.dev/docs/github-actions/runner-types
- 6: https://github.com/actions/runner-images
- 7: Ubuntu 24.04 Noble Docker Image actions/runner#3607
- 8: Building Custom Ubuntu 24.04 GitHub Runner Image with Packer actions/runner-images#10566
- 9: https://github.blog/changelog/2024-05-14-github-hosted-runners-public-beta-of-ubuntu-24-04-is-now-available/
- 10: https://github.blog/changelog/2024-06-24-github-actions-ubuntu-24-04-image-now-available-for-arm64-runners/
@Czaki You're absolutely right! I apologize for the incorrect suggestion. Ubuntu 24.04 is indeed officially supported as a GitHub Actions runner. According to the official documentation, it was released as a public beta in May 2024 and became generally available in July 2024. Your workflow using ubuntu-24.04
is valid and up-to-date.
✏️ Learnings added
Learnt from: Czaki
PR: 4DNucleome/PartSeg#1261
File: .github/workflows/test_napari_widgets.yml:48-48
Timestamp: 2025-05-04T12:34:58.244Z
Learning: GitHub Actions supports ubuntu-24.04 as a runner option as of April 2024 when Ubuntu 24.04 LTS (Noble Numbat) was released. This is in addition to other supported Ubuntu versions like ubuntu-22.04 and ubuntu-latest.
Learnt from: Czaki
PR: 4DNucleome/PartSeg#1261
File: .github/workflows/test_napari_widgets.yml:48-48
Timestamp: 2025-05-04T12:34:58.244Z
Learning: GitHub Actions supports ubuntu-24.04 as a runner option since May 2024 (beta) and July 2024 (GA). It can be used in workflows by specifying `ubuntu-24.04` in the `runs-on` parameter. As of May 2025, `ubuntu-latest` also points to Ubuntu 24.04.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
Because Ubuntu 20.04 runners are scheduled to disable, this PR bumps its version to the next LTS.
Summary by Sourcery
Update GitHub Actions workflows to use Ubuntu 22.04 runners instead of Ubuntu 20.04
CI:
Chores:
Summary by CodeRabbit