Conversation
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis PR upgrades GitHub Actions workflows to run on Ubuntu 26.04 instead of 24.04. The box workflow's build job now configures packer with a TMPDIR environment variable, the test job adds libvirt-daemon-driver-interface as a dependency, and the CI workflow's setup job is updated to the newer runner. ChangesUbuntu 26.04 Runner Migration
🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsStopped waiting for pipeline failures after 30000ms. One of your pipelines takes longer than our 30000ms fetch window to run, so review may not consider pipeline-failure results for inline comments if any failures occurred after the fetch window. Increase the timeout if you want to wait longer or run a 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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/box.yml:
- Line 48: The workflow uses runs-on: ubuntu-26.04 in the build and test jobs
and actionlint may flag that runner label as unknown; to fix, update your
actionlint configuration or workflow metadata: either upgrade or pin actionlint
to a version that recognizes ubuntu-26.04, or add a runner-label entry for
"ubuntu-26.04" in your actionlint config (so actionlint accepts the label) and
re-run linting; search for the runs-on: ubuntu-26.04 occurrences in the box.yml
build and test jobs to apply the change.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 4dbed014-bc0f-4960-bf40-c2427b5a65cb
📒 Files selected for processing (2)
.github/workflows/box.yml.github/workflows/ci.yml
📜 Review details
🧰 Additional context used
🪛 actionlint (1.7.12)
.github/workflows/ci.yml
[error] 35-35: label "ubuntu-26.04" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-intel", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
.github/workflows/box.yml
[error] 48-48: label "ubuntu-26.04" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-intel", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
[error] 109-109: label "ubuntu-26.04" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-intel", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
🔇 Additional comments (4)
.github/workflows/ci.yml (1)
35-35: Confirm HashiCorp APT suite support for theubuntu-26.04runnerFile:
.github/workflows/ci.yml(line 35)runs-on: ubuntu-26.04
setup-hashicorp-repo/action.yml(lines 1-18) derives the HashiCorp APT “dists” codename fromlsb_release -cs; the APT verification approach should not assumelsb_releaseis present—ensure the action/runner can obtain the codename (or switch to parsing/etc/os-release). Then confirm HashiCorp’s APT repo actually publishesdists/<codename>/...forubuntu-26.04and that installingpacker=$PACKER_VERSIONfinds the expectedpackerpackage for that suite..github/workflows/box.yml (3)
73-73: 📐 Maintainability & Code Quality | 💤 Low valueTMPDIR configuration added to both packer steps in
.github/workflows/box.yml.The
TMPDIR: ${{ runner.temp }}environment variable has been added to both thepacker initstep (.github/workflows/box.yml#L73) and thepacker buildstep (.github/workflows/box.yml#L87). This shared configuration pattern suggests it addresses a specific requirement or issue with packer on ubuntu-26.04. Documenting the reason for this change would help with future maintenance.
70-73: 📐 Maintainability & Code QualityClarify why
TMPDIRis set for Packer onubuntu-26.04
.github/workflows/box.ymlsetsTMPDIR: ${{ runner.temp }}for both/usr/bin/packer init .(around lines 70-73) and/usr/bin/packer build(around lines 84-88). No other files/comments explain the rationale for this setting; add a short note/link to the underlying issue being addressed.
127-138: 🩺 Stability & AvailabilityJustify/confirm
libvirt-daemon-driver-interfacefor Ubuntu 26.04
.github/workflows/box.ymlinstallslibvirt-daemon-driver-interface, but the repo doesn’t reference that package name anywhere (no matches in Vagrant/workflow files); add a brief rationale (and/or make it conditional) to document why it’s required for Ubuntu 26.04’s libvirt interface/network setup.
| build: | ||
| name: build ${{ inputs.name }} | ||
| runs-on: ubuntu-24.04 | ||
| runs-on: ubuntu-26.04 |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟡 Minor
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Locate and print relevant parts of the workflow with line numbers
ls -la .github/workflows || true
nl -ba .github/workflows/box.yml | sed -n '1,200p'Repository: ddterm/gnome-shell-box
Length of output: 465
🌐 Web query:
GitHub Actions hosted runner ubuntu-26.04 label available
💡 Result:
As of June 12, 2026, the Ubuntu 26.04 runner image is available for GitHub-hosted runners as a public preview [1][2]. You can use the following labels in your workflow configuration to select these runners: - ubuntu-26.04: For the x64 architecture [1][2]. - ubuntu-26.04-arm: For the arm64 architecture [1][2]. These images were announced as available for all GitHub Actions users on June 11, 2026 [3][2]. They are compatible with both standard and larger runners [2]. As this is a public preview, you may encounter differences in tools and software versions compared to older runner images [2]. Users are encouraged to check the official actions/runner-images repository for specific software manifests [2].
Citations:
- 1: https://docs.github.com/en/actions/reference/runners/github-hosted-runners
- 2: https://github.blog/changelog/2026-06-11-new-runner-images-in-public-preview/
- 3: [Ubuntu] Ubuntu 26.04 and Ubuntu 26.04 Arm is now available as a public preview actions/runner-images#14226
🏁 Script executed:
#!/bin/bash
set -euo pipefail
f=".github/workflows/box.yml"
echo "=== file ==="
ls -la "$f"
echo
echo "=== ubuntu-26.04 occurrences (with line numbers) ==="
awk '{printf "%5d: %s\n", NR, $0}' "$f" | rg -n "ubuntu-26\.04" -n
echo
echo "=== relevant job blocks around ubuntu-26.04 ==="
awk '{print NR ":" $0}' "$f" | rg -n -C 8 "ubuntu-26\.04"Repository: ddterm/gnome-shell-box
Length of output: 1240
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n "actionlint|runs-on:.*ubuntu-26\.04|ubuntu-26\.04" -S .github/workflows .github/actions .github || true
fd -t f ".*actionlint.*" .github -a 2>/dev/null || true
ls -la .github || true
find .github -maxdepth 3 -type f -printRepository: ddterm/gnome-shell-box
Length of output: 885
🌐 Web query:
actionlint ubuntu-26.04 known runners update
💡 Result:
As of June 12, 2026, Ubuntu 26.04 and Ubuntu 26.04 Arm have been released as public previews for GitHub Actions [1]. While these images are available for use in workflows, actionlint does not yet natively recognize ubuntu-26.04 or ubuntu-26.04-arm as standard, pre-defined runner labels in its built-in configuration (which currently prioritizes labels up to Ubuntu 24.04 and macOS 26) [2][3]. If you use runs-on: ubuntu-26.04 or runs-on: ubuntu-26.04-arm in your GitHub Actions workflows, actionlint may report these as unknown runner labels. You can resolve this by adding them to your actionlint configuration file (actionlint.yaml) to inform the tool that these are valid labels for your environment [4][3]. To configure actionlint to recognize these labels, add the following to your actionlint.yaml file: runner-label: - ubuntu-26.04 - ubuntu-26.04-arm This will suppress the unknown label error during static analysis [4][3]. Note that GitHub's official runner software has been updated to support these new Ubuntu 26.04 dependencies [5], but actionlint's internal list of known labels is updated periodically through community contributions and repository releases [6][2][7].
Citations:
- 1: [Ubuntu] Ubuntu 26.04 and Ubuntu 26.04 Arm is now available as a public preview actions/runner-images#14226
- 2: https://github.com/rhysd/actionlint/releases/tag/v1.7.11
- 3: https://github.com/rhysd/actionlint/blob/2ab3a12c/README.md
- 4: https://github.com/rhysd/actionlint/blob/v1.7.6/README.md
- 5: Add support for Ubuntu 26.04 (liblttng-ust1t64, libicu77-80) actions/runner#4394
- 6: feat: add support for Ubuntu 24 runner rhysd/actionlint#425
- 7: https://github.com/rhysd/actionlint/blob/HEAD/CHANGELOG.md
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n "actionlint" -S .github/workflows .github/actions .github || true
fd -t f "actionlint.*" .github -a || true
fd -t f ".*actionlint.*" . -a 2>/dev/null || true
rg -n "runner-label" -S . || trueRepository: ddterm/gnome-shell-box
Length of output: 48
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Find possible actionlint config files anywhere in the repo
fd -t f -i "actionlint*.ya?ml" . || true
fd -t f -i "*.actionlint*.ya?ml" . || true
fd -t f -i ".actionlint.*" . || true
fd -t f -i "actionlint" . || true
# See if any CI script/Makefile runs actionlint
rg -n "(^|[^\w])actionlint([^-\w]|$)|actionlint\.yaml|runner-label" -S . || true
# Show top-level files to see if config is at root
ls -laRepository: ddterm/gnome-shell-box
Length of output: 2266
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Find actionlint config files by common names
fd -t f -a -i "actionlint.yaml" . || true
fd -t f -a -i "actionlint.yml" . || true
fd -t f -a -i "*actionlint*.yml" . || true
fd -t f -a -i "*actionlint*.yaml" . || true
# Broader search for runner-label usage in YAML
rg -n "runner-label\s*:" -S --glob '*.yml' --glob '*.yaml' . || true
rg -n "(^|[^A-Za-z0-9_-])actionlint([^A-Za-z0-9_-]|$)" -S .github/workflows . || true
# Check workflow lint steps, if any
rg -n "actionlint" -S .github/workflows . || trueRepository: ddterm/gnome-shell-box
Length of output: 659
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Find likely actionlint config files using glob patterns
fd -t f --glob "actionlint.yaml" . || true
fd -t f --glob "actionlint.yml" . || true
fd -t f --glob "*actionlint*.yaml" . || true
fd -t f --glob "*actionlint*.yml" . || true
# Search for actionlint usage/config keys
rg -n "runner-label\s*:" -S --glob '*.yml' --glob '*.yaml' . || true
rg -n "(^|[^A-Za-z0-9_-])actionlint([^A-Za-z0-9_-]|$)" -S . || trueRepository: ddterm/gnome-shell-box
Length of output: 48
Adjust actionlint handling for ubuntu-26.04 (runtime likely OK)
.github/workflows/box.yml uses runs-on: ubuntu-26.04 in both the build job (line 48) and test job (line 109). GitHub-hosted ubuntu-26.04 runners are available in public preview, so this should not inherently cause immediate workflow failure from runner unavailability. The likely blocker is static analysis: current actionlint versions may still flag ubuntu-26.04 as an unknown runner label unless the tool is updated or configured (e.g., via runner-label).
🧰 Tools
🪛 actionlint (1.7.12)
[error] 48-48: label "ubuntu-26.04" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-intel", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/box.yml at line 48, The workflow uses runs-on:
ubuntu-26.04 in the build and test jobs and actionlint may flag that runner
label as unknown; to fix, update your actionlint configuration or workflow
metadata: either upgrade or pin actionlint to a version that recognizes
ubuntu-26.04, or add a runner-label entry for "ubuntu-26.04" in your actionlint
config (so actionlint accepts the label) and re-run linting; search for the
runs-on: ubuntu-26.04 occurrences in the box.yml build and test jobs to apply
the change.
Source: Linters/SAST tools
No description provided.