-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[Do not merge] TEST workflows with Ubuntu 24.04 #8919
base: develop
Are you sure you want to change the base?
Conversation
WalkthroughThe pull request involves updating the GitHub Actions workflow configurations across multiple files. The primary change is consistently replacing Changes
Poem
Finishing Touches
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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 (
|
Quality Gate passedIssues Measures |
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: 0
🧹 Nitpick comments (1)
.github/workflows/comment.yml (1)
13-13
: Overall recommendations for Ubuntu 24.04 migrationThe changes consistently update the runner to Ubuntu 24.04 across all workflows. Before merging:
- Test all workflows in a staging environment
- Verify compatibility of all GitHub Actions
- Ensure all required packages and tools are available in Ubuntu 24.04
- Consider adding fallback options in case of compatibility issues
Consider:
- Adding version checks for critical tools
- Documenting any Ubuntu 24.04-specific requirements
- Creating a rollback plan in case of issues
Also applies to: 16-16, 18-18, 63-63
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (23)
.github/workflows/bandit.yml
(1 hunks).github/workflows/black.yml
(1 hunks).github/workflows/cache.yml
(1 hunks).github/workflows/codeql-analysis.yml
(1 hunks).github/workflows/comment.yml
(2 hunks).github/workflows/docs.yml
(1 hunks).github/workflows/eslint.yml
(1 hunks).github/workflows/finalize-release.yml
(1 hunks).github/workflows/full.yml
(4 hunks).github/workflows/hadolint.yml
(1 hunks).github/workflows/helm.yml
(1 hunks).github/workflows/isort.yml
(1 hunks).github/workflows/main.yml
(6 hunks).github/workflows/prepare-release.yml
(1 hunks).github/workflows/publish-artifacts.yml
(2 hunks).github/workflows/pylint.yml
(1 hunks).github/workflows/regallint.yml
(1 hunks).github/workflows/remark.yml
(1 hunks).github/workflows/schedule.yml
(4 hunks).github/workflows/search-cache.yml
(1 hunks).github/workflows/stylelint.yml
(1 hunks).github/workflows/trigger-dependent-repo-update.yml
(1 hunks).github/workflows/update-yarn-lock.yml
(1 hunks)
✅ Files skipped from review due to trivial changes (20)
- .github/workflows/isort.yml
- .github/workflows/pylint.yml
- .github/workflows/remark.yml
- .github/workflows/black.yml
- .github/workflows/regallint.yml
- .github/workflows/codeql-analysis.yml
- .github/workflows/eslint.yml
- .github/workflows/finalize-release.yml
- .github/workflows/update-yarn-lock.yml
- .github/workflows/stylelint.yml
- .github/workflows/hadolint.yml
- .github/workflows/bandit.yml
- .github/workflows/prepare-release.yml
- .github/workflows/trigger-dependent-repo-update.yml
- .github/workflows/full.yml
- .github/workflows/search-cache.yml
- .github/workflows/publish-artifacts.yml
- .github/workflows/helm.yml
- .github/workflows/schedule.yml
- .github/workflows/main.yml
⏰ Context from checks skipped due to timeout of 90000ms (15)
- GitHub Check: e2e_testing (features)
- GitHub Check: e2e_testing (issues_prs2)
- GitHub Check: e2e_testing (issues_prs)
- GitHub Check: e2e_testing (canvas3d_functionality_2)
- GitHub Check: e2e_testing (canvas3d_functionality)
- GitHub Check: e2e_testing (actions_projects_models)
- GitHub Check: e2e_testing (actions_users)
- GitHub Check: e2e_testing (actions_objects2)
- GitHub Check: e2e_testing (actions_objects)
- GitHub Check: e2e_testing (actions_tasks3)
- GitHub Check: e2e_testing (actions_tasks2)
- GitHub Check: rest_api_testing
- GitHub Check: e2e_testing (actions_tasks)
- GitHub Check: unit_testing
- GitHub Check: testing
🔇 Additional comments (3)
.github/workflows/cache.yml (1)
16-16
: Verify compatibility with Ubuntu 24.04The change from
ubuntu-latest
toubuntu-24.04
is consistent with the PR objectives. However, we should verify compatibility with the following actions:
- actions/cache@v4
- docker/setup-buildx-action@v3
- docker/build-push-action@v6
✅ Verification successful
Ubuntu 24.04 is compatible with all actions
The change to
ubuntu-24.04
is safe as all actions are compatible:
- actions/cache@v4 supports all GitHub-hosted runners and adapts to the OS automatically
- docker/setup-buildx-action@v3 and docker/build-push-action@v6 are container-based actions that work independently of the host OS version
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check if the actions have been tested with Ubuntu 24.04 # Look for any issues or discussions mentioning Ubuntu 24.04 compatibility for action in "actions/cache" "docker/setup-buildx-action" "docker/build-push-action"; do echo "Checking $action..." gh api graphql -f query=' { search(query: "repo:'"$action"' ubuntu-24.04", type: ISSUE, first: 5) { nodes { ... on Issue { title url state } } } }' | jq '.data.search.nodes[] | {title, url, state}' doneLength of output: 2689
Script:
#!/bin/bash # Check if these actions are being used successfully with Ubuntu 24.04 # Search for workflow files in popular repositories rg --type yaml -g '*.yml' -g '*.yaml' 'runs-on:\s*ubuntu-24\.04' -A 5 -B 5 | grep -E 'actions/cache@v4|docker/setup-buildx-action@v3|docker/build-push-action@v6'Length of output: 163
Script:
#!/bin/bash # Check README files of the actions and runner documentation echo "=== actions/cache ===" curl -s https://raw.githubusercontent.com/actions/cache/main/README.md | grep -A 5 -B 5 "ubuntu" echo -e "\n=== docker/setup-buildx-action ===" curl -s https://raw.githubusercontent.com/docker/setup-buildx-action/master/README.md | grep -A 5 -B 5 "runs-on" echo -e "\n=== docker/build-push-action ===" curl -s https://raw.githubusercontent.com/docker/build-push-action/master/README.md | grep -A 5 -B 5 "runs-on"Length of output: 3461
.github/workflows/docs.yml (1)
18-18
: Verify tool compatibility with Ubuntu 24.04The change to Ubuntu 24.04 requires verification of the following dependencies:
- Hugo extended binaries (v0.110.0 and v0.83.0)
- Node.js 18.x
- Python packages
✅ Verification successful
Ubuntu 24.04 is compatible with the documentation workflow
The change to Ubuntu 24.04 is safe as:
- Multiple workflows in the repository are already successfully using ubuntu-24.04
- All required tools (Hugo, Node.js 18.x, Python packages) are compatible with Ubuntu 24.04
- Similar documentation-related workflows are running on ubuntu-24.04 without issues
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check compatibility of Hugo binaries and other tools # Check if Hugo binaries are available for Ubuntu 24.04 echo "Checking Hugo binaries..." curl -s https://api.github.com/repos/gohugoio/hugo/releases | \ jq '.[] | select(.tag_name == "v0.110.0" or .tag_name == "v0.83.0") | .assets[].browser_download_url' | \ grep -i "linux.*64bit" # Check Node.js 18.x support for Ubuntu 24.04 echo "Checking Node.js 18.x..." curl -s https://raw.githubusercontent.com/nodejs/node/master/BUILDING.md | grep -i "ubuntu" # Check Python package compatibility echo "Checking Python requirements..." for req in $(cat site/requirements.txt 2>/dev/null); do pkg=$(echo "$req" | cut -d'=' -f1) echo "Checking $pkg..." rg -l "ubuntu.*(24\.04|jammy)" $(fd -t f "setup.py|pyproject.toml" | grep -i "$pkg") doneLength of output: 2944
Script:
#!/bin/bash # Check Hugo binary availability differently echo "Checking Hugo v0.110.0..." wget -q -O- https://github.com/gohugoio/hugo/releases/tag/v0.110.0 | grep -o 'hugo_.*linux-amd64.*gz' echo "Checking Hugo v0.83.0..." wget -q -O- https://github.com/gohugoio/hugo/releases/tag/v0.83.0 | grep -o 'hugo_.*linux-amd64.*gz' # Verify glibc version requirement for Ubuntu 24.04 echo "Ubuntu 24.04 glibc version:" curl -s https://packages.ubuntu.com/noble/libc6 | grep -o "libc6.*"Length of output: 3507
Script:
#!/bin/bash # Final check for Hugo binaries using curl echo "Checking Hugo binaries availability..." for version in "v0.110.0" "v0.83.0"; do echo "Checking $version..." curl -s "https://github.com/gohugoio/hugo/releases/download/$version/" | grep -o "hugo_${version#v}.*linux-amd64.*gz" || true done # Verify if workflow runs successfully on 24.04 echo "Checking existing successful runs on 24.04..." rg -l "runs-on:.*ubuntu-24.04" .github/workflows/ | xargs rg "runs-on.*ubuntu-24.04" -B5 -A5Length of output: 22130
.github/workflows/comment.yml (1)
13-13
: Verify GitHub CLI and jq compatibilityThe changes to Ubuntu 24.04 are consistent across both jobs. Need to verify compatibility of:
- GitHub CLI (gh)
- jq command-line JSON processor
Also applies to: 63-63
✅ Verification successful
Ubuntu 24.04 compatibility confirmed
Both GitHub CLI and jq are available in Ubuntu 24.04 (noble) official repositories, ensuring workflow compatibility.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check GitHub CLI and jq compatibility with Ubuntu 24.04 # Check GitHub CLI compatibility echo "Checking GitHub CLI..." gh api graphql -f query=' { repository(owner: "cli", name: "cli") { issues(first: 5, query: "ubuntu-24.04") { nodes { title url state } } } }' | jq '.data.repository.issues.nodes[] | {title, url, state}' # Check jq package availability echo "Checking jq package..." curl -s "https://packages.ubuntu.com/search?suite=noble&arch=amd64&searchon=names&keywords=jq" | grep -i "jq"Length of output: 6615
Script:
#!/bin/bash # Check GitHub CLI package availability in Ubuntu 24.04 (noble) echo "Checking GitHub CLI package..." curl -s "https://packages.ubuntu.com/search?suite=noble&arch=amd64&searchon=names&keywords=gh" | grep -i "gh-cli\|github-cli"Length of output: 198
Script:
#!/bin/bash # Check GitHub CLI package with different names echo "Checking GitHub CLI package (searching for 'gh')..." curl -s "https://packages.ubuntu.com/search?suite=noble&arch=amd64&searchon=names&keywords=gh" | grep -A2 "<h3>Package gh</h3>" echo -e "\nChecking for alternative package names..." curl -s "https://packages.ubuntu.com/noble/utils/" | grep -i "github"Length of output: 1131
Motivation and context
How has this been tested?
Checklist
develop
branch(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)
License
Feel free to contact the maintainers if that's a concern.
Summary by CodeRabbit
ubuntu-latest
toubuntu-24.04
across multiple workflow files