From 83325989a77e6e3cde363800a61f2b12fb07eb72 Mon Sep 17 00:00:00 2001 From: Payton McIntosh Date: Sat, 24 Oct 2026 23:35:45 +0100 Subject: [PATCH 1/2] Place Dependabot pull requests on GitHub-hosted runners for the default-features lane --- .github/workflows/ci-default-features.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-default-features.yml b/.github/workflows/ci-default-features.yml index 55f2c0de8..b2a863c15 100644 --- a/.github/workflows/ci-default-features.yml +++ b/.github/workflows/ci-default-features.yml @@ -42,8 +42,12 @@ jobs: name: Default features # A pull request from a fork cannot obtain a Ubicloud runner, so the fork # arm falls back to a GitHub-hosted one, as in `ci.yml`'s `build-test`. + # Dependabot pull requests run on the hosted pool too (free on a public + # repository). The author is tested, not the actor, which changes when + # someone else pushes to the branch. runs-on: >- - ${{ github.event.pull_request.head.repo.fork + ${{ (github.event.pull_request.head.repo.fork + || github.event.pull_request.user.login == 'dependabot[bot]') && 'ubuntu-latest' || 'ubicloud-standard-4-ubuntu-2404' }} # A cold build of both feature sets' worth of targets, rustdoc, Clippy, and # the full suite: measured well under this ceiling, which exists so a hung From 831e73f62a81de0eb2a282c7f8345f9487580c3c Mon Sep 17 00:00:00 2001 From: Payton McIntosh Date: Sun, 25 Oct 2026 00:00:46 +0100 Subject: [PATCH 2/2] Inventory the default-features lane in the runner contracts --- tests/workflow_contracts/fork_fallback.py | 1 + tests/workflow_contracts/runner_placement_invariants.py | 1 + tests/workflow_contracts/runner_placement_test.py | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/tests/workflow_contracts/fork_fallback.py b/tests/workflow_contracts/fork_fallback.py index d351c7c53..e946a436a 100644 --- a/tests/workflow_contracts/fork_fallback.py +++ b/tests/workflow_contracts/fork_fallback.py @@ -232,6 +232,7 @@ def owned_runner(declaration: object) -> str: FORK_FALLBACK_RUNNERS: typ.Final[dict[str, str]] = { "ci.build-test": FORK_FALLBACK_RUNNER, "ci.kani-smoke": FORK_FALLBACK_RUNNER, + "ci-default-features.default-features": FORK_FALLBACK_RUNNER, "netsukefile-test.netsukefile": "ubuntu-22.04", } diff --git a/tests/workflow_contracts/runner_placement_invariants.py b/tests/workflow_contracts/runner_placement_invariants.py index e9f9db59e..a20168b14 100644 --- a/tests/workflow_contracts/runner_placement_invariants.py +++ b/tests/workflow_contracts/runner_placement_invariants.py @@ -87,6 +87,7 @@ "ci-windows.build-test-windows": "windows-latest", "ci-windows.windows-msi-upgrade": "windows-latest", "ci.kani-smoke": UBICLOUD_DEFAULT_LABEL, + "ci-default-features.default-features": UBICLOUD_LARGE_LABEL, "coverage-main.coverage-upload": UBICLOUD_LARGE_LABEL, "delayed-pr-comment.delay_and_comment": "ubuntu-latest", "netsukefile-test.netsukefile": UBICLOUD_COMPAT_LABEL, diff --git a/tests/workflow_contracts/runner_placement_test.py b/tests/workflow_contracts/runner_placement_test.py index e51b77b35..58afd2170 100644 --- a/tests/workflow_contracts/runner_placement_test.py +++ b/tests/workflow_contracts/runner_placement_test.py @@ -40,6 +40,11 @@ ("ci-windows.build-test-windows", "ci-windows.yml", "build-test-windows"), ("ci-windows.windows-msi-upgrade", "ci-windows.yml", "windows-msi-upgrade"), ("ci.kani-smoke", "ci.yml", "kani-smoke"), + ( + "ci-default-features.default-features", + "ci-default-features.yml", + "default-features", + ), ("coverage-main.coverage-upload", "coverage-main.yml", "coverage-upload"), ( "delayed-pr-comment.delay_and_comment",