chore(ci): run the compiling jobs on the dev runner label #480

Merged
Claude-Run merged 1 commit from chore/PMS-719-ci-dev-runner-label into main 2026-08-02 01:55:29 +02:00
Member

check.yml and integration.yml compile Rust natively on the runner but requested RUNS_ON_OPENSUSE_BASE_LATEST, whose image ships no C toolchain, and worked around it with sudo zypper install gcc libopenssl-devel on every run. That is the workaround CLAUDE-203 rejected, and it followed two CI-failure issues in this repo (PMS-705, PMS-706). Both jobs now request RUNS_ON_OPENSUSE_DEV_LATEST and the install steps are gone: verified against ghcr.io/niceguyit/opensuse-dev (tags v1.7.0-leap-16.0 and latest-leap-16.0) that the image carries /usr/bin/cc, gcc and ld, glibc-devel, and libopenssl-devel with pkg-config reporting openssl 3.5.0, so nothing the removed packages provided is missing.

Every other runs-on is classified in a comment at the site: build-oci-image.yml and both create-release.yml jobs stay on base (docker buildx / nu / git, no native compile), and e2e.yml keeps the dev label deliberately for the pre-baked bun, node24 and Playwright browsers.

scripts/check-runner-labels.nu makes the rule mechanical: it fails when a workflow that runs cargo natively requests the base label, when any workflow installs a C toolchain at run time, or when a runs-on: carries no comment justifying its label. Wired into just check and check.yml.

#PMS-719

check.yml and integration.yml compile Rust natively on the runner but requested `RUNS_ON_OPENSUSE_BASE_LATEST`, whose image ships no C toolchain, and worked around it with `sudo zypper install gcc libopenssl-devel` on every run. That is the workaround CLAUDE-203 rejected, and it followed two CI-failure issues in this repo (PMS-705, PMS-706). Both jobs now request `RUNS_ON_OPENSUSE_DEV_LATEST` and the install steps are gone: verified against ghcr.io/niceguyit/opensuse-dev (tags v1.7.0-leap-16.0 and latest-leap-16.0) that the image carries /usr/bin/cc, gcc and ld, glibc-devel, and libopenssl-devel with pkg-config reporting openssl 3.5.0, so nothing the removed packages provided is missing. Every other `runs-on` is classified in a comment at the site: build-oci-image.yml and both create-release.yml jobs stay on base (docker buildx / nu / git, no native compile), and e2e.yml keeps the dev label deliberately for the pre-baked bun, node24 and Playwright browsers. scripts/check-runner-labels.nu makes the rule mechanical: it fails when a workflow that runs cargo natively requests the base label, when any workflow installs a C toolchain at run time, or when a `runs-on:` carries no comment justifying its label. Wired into `just check` and check.yml. #PMS-719
chore(ci): run the compiling jobs on the dev runner label
All checks were successful
E2E / Playwright against staging (pull_request) Successful in 3m25s
Check / fmt + clippy + build + tests (pull_request) Successful in 3m25s
Integration / integration tests (pull_request) Successful in 8m29s
Create release / Gate (release-branch merges only) (pull_request) Successful in 0s
Create release / Create release from merged PR (pull_request) Has been skipped
b098f8254c
check.yml and integration.yml compile Rust natively on the runner but requested `RUNS_ON_OPENSUSE_BASE_LATEST`, whose image ships no C toolchain, and worked around it with `sudo zypper install gcc libopenssl-devel` on every run. That is the workaround CLAUDE-203 rejected, and it followed two CI-failure issues in this repo (PMS-705, PMS-706). Both jobs now request `RUNS_ON_OPENSUSE_DEV_LATEST` and the install steps are gone: verified against ghcr.io/niceguyit/opensuse-dev (tags v1.7.0-leap-16.0 and latest-leap-16.0) that the image carries /usr/bin/cc, gcc and ld, glibc-devel, and libopenssl-devel with pkg-config reporting openssl 3.5.0, so nothing the removed packages provided is missing.

Every other `runs-on` is classified in a comment at the site: build-oci-image.yml and both create-release.yml jobs stay on base (docker buildx / nu / git, no native compile), and e2e.yml keeps the dev label deliberately for the pre-baked bun, node24 and Playwright browsers.

scripts/check-runner-labels.nu makes the rule mechanical: it fails when a workflow that runs cargo natively requests the base label, when any workflow installs a C toolchain at run time, or when a `runs-on:` carries no comment justifying its label. Wired into `just check` and check.yml.

#PMS-719
Claude-Run deleted branch chore/PMS-719-ci-dev-runner-label 2026-08-02 01:55:29 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-server!480
No description provided.