-
Notifications
You must be signed in to change notification settings - Fork 11
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
chore: Update CI configuration to use more modern OS and python versions #1207
Changes from all commits
a63feff
8615ad8
aad3fcd
32dc7dd
b9054a0
b7c808c
74f17c7
75ae9bc
beda790
550a5ba
3b0cc0b
3aa379a
36c5397
0357b19
ac4096c
6ecfb22
e21fbec
a813904
e17e224
e178164
275471e
38b6a3f
0335e03
8480a57
208421d
f38e780
3fdbe38
7b55c5e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,7 +21,7 @@ on: | |
jobs: | ||
download_data: | ||
name: Download test data | ||
runs-on: ubuntu-22.04 | ||
runs-on: ubuntu-24.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- shell: bash | ||
|
@@ -41,7 +41,7 @@ jobs: | |
strategy: | ||
fail-fast: false | ||
matrix: | ||
platform: [windows-2022, macos-14, ubuntu-22.04] | ||
platform: [windows-2022, macos-14, ubuntu-24.04] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Codebase verification Action Required: Update Remaining Workflows to Ubuntu 24.04 The following workflow still uses
🔗 Analysis chainLGTM: Updated test matrix to include Ubuntu 24.04 The change to use To ensure consistency across the entire project, let's verify if other workflows need similar updates: 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Check for other workflows that might need updating to Ubuntu 24.04
# Test: Search for workflow files still using Ubuntu 22.04
echo "Workflows still using Ubuntu 22.04:"
rg --type yaml 'ubuntu-22\.04' .github/workflows
Length of output: 485 |
||
python: [3.12] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -108,9 +108,9 @@ jobs: | |
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-python@v5 | ||
name: Install Python 3.11 | ||
name: Install Python 3.12 | ||
with: | ||
python-version: 3.11 | ||
python-version: 3.12 | ||
- uses: tlambert03/setup-qt-libs@v1 | ||
- name: Install dependencies | ||
run: | | ||
|
@@ -146,7 +146,7 @@ jobs: | |
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
PLATFORM: "linux" | ||
PYTHON: "3.11" | ||
PYTHON: "3.12" | ||
RUN_ID: ${{ github.run_id }} | ||
TITLE: '[test-bot] pyinstaller bundle --pre is failing' | ||
with: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -51,21 +51,24 @@ jobs: | |
fail-fast: false | ||
matrix: | ||
python_version: ["3.9", "3.10", "3.11", "3.12"] | ||
os: ["ubuntu-20.04"] | ||
os: ["ubuntu-24.04"] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Codebase verification Issues Found: Older Ubuntu Versions Still Present in Workflows The following workflow files still reference older Ubuntu versions:
Please remove or update these entries to fully transition to 🔗 Analysis chainLGTM! Expanded test matrix with newer OS and Python versions. The changes to the
These updates will help ensure the project's compatibility with newer environments. Let's verify the availability of Ubuntu 24.04 in GitHub Actions: Also applies to: 61-63, 65-65, 71-71 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Verify the availability of Ubuntu 24.04 in GitHub Actions
# Check if Ubuntu 24.04 is listed in the GitHub Actions runner images
gh api /repos/actions/runner-images/contents/images/linux/Ubuntu2404-Readme.md
# Search for recent workflow runs using Ubuntu 24.04
gh search prs --json url,updatedAt --jq '.[] | select(.url | contains("ubuntu-24.04")) | .updatedAt' --limit 10 --sort updated --order desc
Length of output: 632 Script: #!/bin/bash
# Description: Search for 'ubuntu-24.04' in GitHub Actions workflow files
rg 'ubuntu-24\.04' .github/workflows/
Length of output: 738 Script: #!/bin/bash
# Description: Check for the presence of older Ubuntu versions in GitHub Actions workflow files
# Search for Ubuntu versions other than 24.04 in workflow files
rg 'ubuntu-(?!24\.04)\d{2}\.\d{2}' .github/workflows/
Length of output: 295 Script: #!/bin/bash
# Description: Check for the presence of older Ubuntu versions in GitHub Actions workflow files
# Search for specific older Ubuntu versions in workflow files
rg 'ubuntu-(20\.04|22\.04)' .github/workflows/
Length of output: 686 |
||
qt_backend: ["PyQt5"] | ||
tox_args: [ "" ] | ||
include: | ||
- python_version: "3.11" | ||
os: "macos-13" | ||
qt_backend: "PyQt5" | ||
- python_version: "3.12" | ||
os: "macos-14" | ||
qt_backend: "PyQt6" | ||
- python_version: "3.11" | ||
os: "windows-2019" | ||
os: "windows-latest" | ||
qt_backend: "PyQt5" | ||
- python_version: "3.10" | ||
os: "ubuntu-20.04" | ||
qt_backend: "PySide2" | ||
- python_version: "3.10" | ||
os: "ubuntu-22.04" | ||
os: "ubuntu-24.04" | ||
qt_backend: "PySide6" | ||
- python_version: "3.12" | ||
os: "ubuntu-22.04" | ||
|
@@ -91,7 +94,7 @@ jobs: | |
fail-fast: false | ||
matrix: | ||
python_version: ["3.9", "3.10", "3.11", "3.12"] | ||
os: ["ubuntu-20.04", "macos-13", "windows-2019"] | ||
os: ["ubuntu-24.04", "macos-14", "windows-2022"] | ||
qt_backend: ["PySide2", "PyQt5"] | ||
include: | ||
- python_version: "3.12" | ||
|
@@ -112,12 +115,18 @@ jobs: | |
qt_backend: "PySide2" | ||
- python_version: "3.12" | ||
qt_backend: "PySide2" | ||
- os: "macos-14" | ||
qt_backend: "PySide2" | ||
- os: "macos-14" | ||
python_version: "3.9" | ||
with: | ||
test_data: True | ||
python_version: ${{ matrix.python_version }} | ||
os: ${{ matrix.os }} | ||
qt_backend: ${{ matrix.qt_backend }} | ||
pydantic: ${{ matrix.pydantic }} | ||
artifact_suffix: "-main" | ||
pytest_args: "-v" | ||
|
||
test_coverage: | ||
needs: download_data | ||
|
@@ -182,7 +191,7 @@ jobs: | |
|
||
test_conda: | ||
name: Test PartSeg conda | ||
runs-on: ubuntu-20.04 | ||
runs-on: ubuntu-24.04 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Codebase verification Missing The 🔗 Analysis chainLGTM! Updated conda testing environment. The changes to the
Please ensure that all conda-related commands and environment files have been updated to support Python 3.12. You may want to run the following script to verify: Also applies to: 205-205 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Verify conda environment setup for Python 3.12
# Check if environment.yml file exists and contains Python 3.12
if [ -f environment.yml ]; then
if grep -q "python=3.12" environment.yml; then
echo "environment.yml file is correctly configured for Python 3.12"
else
echo "Warning: environment.yml may need to be updated for Python 3.12"
fi
else
echo "Warning: environment.yml file not found"
fi
# Check if create_environment_yml.sh script is updated
if grep -q "python=3.12" build_utils/create_environment_yml.sh; then
echo "create_environment_yml.sh script is correctly configured for Python 3.12"
else
echo "Warning: create_environment_yml.sh may need to be updated for Python 3.12"
fi
Length of output: 332 Script: #!/bin/bash
# Description: Search for all environment.yml files in the repository
fd environment.yml
Length of output: 58 |
||
needs: download_data | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
@@ -193,7 +202,7 @@ jobs: | |
use-mamba: true | ||
channels: conda-forge | ||
channel-priority: strict | ||
python-version: "3.11" | ||
python-version: "3.12" | ||
|
||
- uses: tlambert03/setup-qt-libs@v1 | ||
|
||
|
@@ -236,7 +245,7 @@ jobs: | |
- name: Test with tox | ||
uses: aganders3/headless-gui@v2 | ||
with: | ||
run: conda run -n test --no-capture-output tox -e py311-PySide2-conda | ||
run: conda run -n test --no-capture-output tox -e py312-PySide2-conda | ||
timeout-minutes: 60 | ||
|
||
check-package: | ||
|
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.
💡 Codebase verification
Hardcoded Ubuntu Versions Found in Other CI Configurations
The update to
ubuntu-24.04
in.github/workflows/test_napari_widgets.yml
is correctly implemented. However, the following files still contain hardcoded Ubuntu versions:azure-pipelines.yml
Ubuntu-24.04
Ubuntu-22.04
Ubuntu-20.04
.readthedocs.yml
ubuntu-22.04
Please update these files to use
ubuntu-24.04
to maintain consistency across all CI environments and ensure compatibility with the latest Ubuntu version.🔗 Analysis chain
Approved: OS update to Ubuntu 24.04
The change to use
ubuntu-24.04
aligns with the PR objective and ensures tests run on the latest LTS version of Ubuntu. This is a good practice for maintaining up-to-date CI environments.To ensure compatibility, please verify that all project dependencies support Ubuntu 24.04. Run the following script to check for any potential issues:
If the script returns any results, review those files to ensure they're compatible with Ubuntu 24.04 or update them accordingly.
The previous script encountered an error due to an unrecognized file type "python". Let's correct the file type to "py" and re-run the check to ensure no hardcoded Ubuntu version dependencies exist.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
Length of output: 102
Script:
Length of output: 403