Skip to content

ci(runners): measure three jobs on GitHub-hosted runners (do not merge) - #1438

Closed
auxesis wants to merge 1 commit into
mainfrom
ci/measure-github-hosted-runners
Closed

auxesis wants to merge 1 commit into
mainfrom
ci/measure-github-hosted-runners

Conversation

@auxesis

@auxesis auxesis commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Do not merge. This is a measurement. It will be closed, and its branch deleted, once the times are in.

Summary

This runs three jobs on GitHub's ubuntu-24.04 runner, to time them there. The runner trial in #1297 did not time them. A job that takes more than twice as long on GitHub's runner as on Blacksmith 4 vCPU moves to RunsOn in #1419. A job that does not stays light.

Changes

  • miri.yml: Miri runs on ubuntu-24.04.
  • tests-rust.yml: tests-rust runs on ubuntu-24.04.
  • _build-ffi-artifacts.yml and scripts/ffi-release-matrix.mjs: the Linux FFI builds and the WASM and wrapper build run on ubuntu-24.04.

Verification

  • scripts/__tests__/ffi-release-matrix.test.mjs fails on this branch, because it pins the Linux runner. That is expected.
  • I will start the FFI builds through ffi-preflight.yml. It cannot publish: it has no id-token permission, passes no secrets, and holds no npm token.

Related

This is a measurement, not a change to keep. It runs Miri, tests-rust
and the Linux FFI release builds on GitHub's `ubuntu-24.04` runner. The
runner trial in #1297 did not time these jobs there.

A job that takes more than twice as long on GitHub's runner as on
Blacksmith 4 vCPU needs a bigger machine. The times from this branch
decide which runner each job uses.

The FFI builds take their Linux runner from `runnerFor` in
`scripts/ffi-release-matrix.mjs`. So that function changes too, and the
test that pins its answer fails on this branch.
@coderabbitai

coderabbitai Bot commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@changeset-bot

changeset-bot Bot commented Oct 29, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: b75eb89

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@auxesis

auxesis commented Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

Results

Times are in seconds. GitHub's runner is ubuntu-24.04. Blacksmith is blacksmith-4vcpu-ubuntu-2404, over its last successful runs. A job more than twice as slow on GitHub's runner counts as heavy.

Job GitHub runs GitHub median Blacksmith median (runs) Ratio Decision
linux-x64-gnu 234, 258, 276 258 125 (9) 2.06 heavy: moves to RunsOn in #1419
linux-arm64-gnu 304, 288, 210 288 143 (9) 2.01 heavy: moves to RunsOn in #1419
Miri 243, 293 268 199 (14) 1.35 light: stays
tests-rust 270, 244 257 189 (14) 1.36 light: stays
linux-x64-musl failed each time – – – not timed
WASM and wrapper tarball skipped each time – – – not timed
  • The musl build fails on any runner. Its image runs apk add musl-dev=1.2.6-r2, and Alpine now serves only 1.2.6-r3. The Dockerfile is the same as main's, so the next FFI release would fail there too.
  • The wrapper build waits for every binary, so it was skipped each time.
  • Miri and tests-rust ran once with a cold cache and once with a warm one. The FFI builds use no cache.

Closing this pull request and deleting its branch.

@auxesis auxesis closed this Oct 29, 2026
@auxesis
auxesis deleted the ci/measure-github-hosted-runners branch October 29, 2026 10:28
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