From a0dd0f5d3800304232aad76a6e0d4eccab9df0cd Mon Sep 17 00:00:00 2001 From: TheDancingDeveloper Date: Mon, 3 Aug 2026 00:41:40 +0000 Subject: [PATCH] ci: move remaining jobs onto self-hosted runners MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit lint, test, build, ui and ui-e2e ran on ubuntu-latest while the container job already used self-hosted labels. NGMS was already a member of the public-node-b runner group, so unlike the other two violations this was not caused by missing runner access — it arrived with the 2026-07-30 migration commit and nothing rejected it. NGMS is also the largest consumer of hosted minutes in the org. The three Rust jobs relied on ubuntu-latest having a toolchain preinstalled. Swatinem/rust-cache only caches, it does not install, so a bare label swap would have broken them. Added dtolnay/rust-toolchain pinned to 1.95.0 with clippy and rustfmt, matching rust-toolchain.toml. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/ci.yml | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a49ebab3..b4f2882d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,9 +15,15 @@ permissions: jobs: lint: - runs-on: ubuntu-latest + runs-on: [self-hosted, node-b, linux, x64] steps: - uses: actions/checkout@v7 + # The self-hosted runner image has no Rust toolchain preinstalled, + # unlike ubuntu-latest. Pinned to match rust-toolchain.toml. + - uses: dtolnay/rust-toolchain@master + with: + toolchain: "1.95.0" + components: clippy,rustfmt - uses: Swatinem/rust-cache@v2 - uses: actions/setup-node@v7 with: @@ -36,9 +42,15 @@ jobs: - run: cargo clippy --workspace --all-features --locked -- -D warnings test: - runs-on: ubuntu-latest + runs-on: [self-hosted, node-b, linux, x64] steps: - uses: actions/checkout@v7 + # The self-hosted runner image has no Rust toolchain preinstalled, + # unlike ubuntu-latest. Pinned to match rust-toolchain.toml. + - uses: dtolnay/rust-toolchain@master + with: + toolchain: "1.95.0" + components: clippy,rustfmt - uses: Swatinem/rust-cache@v2 - uses: actions/setup-node@v7 with: @@ -52,9 +64,15 @@ jobs: - run: cargo test --workspace --all-features --locked build: - runs-on: ubuntu-latest + runs-on: [self-hosted, node-b, linux, x64] steps: - uses: actions/checkout@v7 + # The self-hosted runner image has no Rust toolchain preinstalled, + # unlike ubuntu-latest. Pinned to match rust-toolchain.toml. + - uses: dtolnay/rust-toolchain@master + with: + toolchain: "1.95.0" + components: clippy,rustfmt - uses: Swatinem/rust-cache@v2 - uses: actions/setup-node@v7 with: @@ -68,7 +86,7 @@ jobs: - run: cargo build --workspace --all-features --locked ui: - runs-on: ubuntu-latest + runs-on: [self-hosted, node-b, linux, x64] strategy: matrix: project: [ui, client] @@ -85,7 +103,7 @@ jobs: run: npm run build ui-e2e: - runs-on: ubuntu-latest + runs-on: [self-hosted, node-b, linux, x64] steps: - uses: actions/checkout@v7 - uses: actions/setup-node@v7