Skip to content

ci: upgrade to Ubuntu 26.04 runners#265

Merged
amezin merged 1 commit into
masterfrom
ci-26.04
Jun 12, 2026
Merged

ci: upgrade to Ubuntu 26.04 runners#265
amezin merged 1 commit into
masterfrom
ci-26.04

Conversation

@amezin

@amezin amezin commented Jun 12, 2026

Copy link
Copy Markdown
Member

No description provided.

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated build infrastructure environment configuration.

Walkthrough

This 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.

Changes

Ubuntu 26.04 Runner Migration

Layer / File(s) Summary
box.yml build environment
.github/workflows/box.yml
Build job upgraded to ubuntu-26.04 with TMPDIR environment variable configured for both packer init and packer build steps to use the runner's temp directory.
box.yml test environment
.github/workflows/box.yml
Test job upgraded to ubuntu-26.04 with libvirt-daemon-driver-interface added to apt package dependencies.
ci.yml setup environment
.github/workflows/ci.yml
Setup job upgraded to ubuntu-26.04.

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 3 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive No pull request description was provided by the author. While the PR title and objectives are clear, the absence of any description makes this check inconclusive. Consider adding a description explaining the rationale for the Ubuntu upgrade, any testing performed, and potential impacts of this change.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'ci: upgrade to Ubuntu 26.04 runners' accurately and specifically describes the main change in the pull request - upgrading CI workflows from Ubuntu 24.04 to 26.04.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci-26.04

Warning

Review ran into problems

🔥 Problems

Stopped 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 @coderabbit review after the pipeline has finished.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@amezin amezin marked this pull request as ready for review June 12, 2026 22:35

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 40c1708 and e9f09bd.

📒 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 the ubuntu-26.04 runner

File: .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 from lsb_release -cs; the APT verification approach should not assume lsb_release is present—ensure the action/runner can obtain the codename (or switch to parsing /etc/os-release). Then confirm HashiCorp’s APT repo actually publishes dists/<codename>/... for ubuntu-26.04 and that installing packer=$PACKER_VERSION finds the expected packer package for that suite.

.github/workflows/box.yml (3)

73-73: 📐 Maintainability & Code Quality | 💤 Low value

TMPDIR configuration added to both packer steps in .github/workflows/box.yml.

The TMPDIR: ${{ runner.temp }} environment variable has been added to both the packer init step (.github/workflows/box.yml#L73) and the packer build step (.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 Quality

Clarify why TMPDIR is set for Packer on ubuntu-26.04

.github/workflows/box.yml sets TMPDIR: ${{ 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 & Availability

Justify/confirm libvirt-daemon-driver-interface for Ubuntu 26.04
.github/workflows/box.yml installs libvirt-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.

Comment thread .github/workflows/box.yml
build:
name: build ${{ inputs.name }}
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 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:


🏁 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 -print

Repository: 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:


🏁 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 . || true

Repository: 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 -la

Repository: 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 . || true

Repository: 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 . || true

Repository: 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

@amezin amezin merged commit e9f09bd into master Jun 12, 2026
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant