Repository navigation
ci: run the workflows on the runplane runners - #7
Merged
Merged
Conversation
The jobs of ci.yml, kernel.yml, images.yml, and release.yml use the runplane label. The install job of ci.yml stays on ubuntu-24.04. That job installs Sysbox and the systemd units, and runplane sandboxes have no systemd. The image builds use QEMU for the architecture that the runner does not have. The shell job installs shellcheck, because the runplane base image does not contain it.
ephraimduncan
added a commit
that referenced
this pull request
Nov 6, 2026
Merge 79d3da7, 1b78e39, and d27d5da of main. The features keep the behavior of main. Each feature uses the packages of the refactor. CI on the runplane runners (#7): the jobs use the runplane label, and the image builds use QEMU. images.yml keeps the matrices of images.go and its comment about the build context. Image environment in VM mode (#9): internal/sandbox/guest owns ImageEnvFile and its form. EncodeImageEnv writes the file in the root disk, and runplane-init reads it with DecodeImageEnv. Thus the NUL format has one place. Pull requests that move jobs to runplane (#8): - ghrest.Call has a JSON Body. ghrest.PullPermissions is part of AppPermissions, thus the manifest, the connect form, and the permission check use one list. - github does not import huma. OpenPullRequest returns store.ErrNotFound, ghrest.ErrNoPullPermissions, or field.Problems, and the API changes them into 404, 403, and 422. Setup and the permission check read the installation through one function. - The audit action github.pull_request.create is in the audit enum. Its detail has the repository, and the web has a text for it. - The API gives permissions_url on the app. The web does not make the URL. The pull request description links to pages.Jobs. - The label of the request has no pattern. The check against the enabled pools gives the 422 at body.label. - The web finds the repositories with publicReposRun, the rule of the job access switch. Before, the web had a second rule that ignored dev mode and the modes of the servers. - The route files only give params. The settings page and the first job step have the form. FormAlert moved to components/app, because the github pages must not import the setup pages.
ephraimduncan
added a commit
that referenced
this pull request
Nov 6, 2026
One conflict in internal/agent/agent_test.go: FX4 removed the check of the driver settings alone, so the merge keeps its side. In ci.yml, the jobs keep the runner labels of #7. The install job stays on ubuntu-24.04 with the sandbox test step. That step now updates the package lists before it installs nftables, as the shell job of #7 does.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The jobs of all four workflows use
runs-on: runplane, except theinstalljob ofci.yml. That job installs Sysbox and the systemd units, then examinesrunplane.service. runplane sandboxes startrunplane-initas PID 1 and have no systemd, thus that job stays onubuntu-24.04.The image builds use QEMU for the architecture that the runner does not have. That build is much slower than a build on a native runner.
kernel.ymlinstalls only thegcc-aarch64-linux-gnucross compiler, thus therunplaneserver must be x86_64, asubuntu-24.04was.Caution: Do not merge this change before you change the runplane settings. This repository is public, and runplane takes jobs of a public repository only in VM mode with
allow_public_reposon. Without that setting, all jobs stay in the queue. runplane takes jobs of fork pull requests only withallow_fork_prson. With that setting, a pull request from a fork can run code in a VM on the server.