From 50032c40d53cf6f440e2398919971f5a4b77a008 Mon Sep 17 00:00:00 2001 From: Bruno Verachten Date: Sun, 17 May 2026 12:05:04 +0200 Subject: [PATCH] ci: build riscv64 wheel on RISE runner via uv Today's scheduled run built the wheel but the release job failed: it targeted the self-hosted F3 board ([self-hosted, linux, riscv64]) and could not acquire a runner. The board is shared by several fork builds and contends weekly. Move build to the RISE ubuntu-24.04-riscv runner with uv-provisioned Python (astral-sh/setup-uv), matching the working httptools build - RISE runners have no bare python3, and uv installs a managed riscv64 Python independent of runner-image churn. Move the release job to ubuntu-latest (it only downloads the artifact and creates a release, no riscv64 needed) and correct the now-inaccurate Built on note. Signed-off-by: Bruno Verachten --- .github/workflows/build-riscv64.yml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-riscv64.yml b/.github/workflows/build-riscv64.yml index 6296046..75abb86 100644 --- a/.github/workflows/build-riscv64.yml +++ b/.github/workflows/build-riscv64.yml @@ -12,7 +12,7 @@ on: jobs: build: - runs-on: [self-hosted, linux, riscv64] + runs-on: ubuntu-24.04-riscv timeout-minutes: 120 env: CARGO_NET_GIT_FETCH_WITH_CLI: "true" @@ -23,15 +23,19 @@ jobs: ref: ${{ inputs.release_tag || github.ref }} fetch-depth: 0 - - name: Set up Python - run: | - python3 -m venv /tmp/build-venv - . /tmp/build-venv/bin/activate - pip install --upgrade pip maturin + # Build on the RISE ubuntu-24.04-riscv runner with uv, matching the + # working httptools build. The self-hosted F3 board caused weekly + # runner-contention failures (the release job could not acquire it), + # and its bare python3 is absent on RISE runners - uv provisions a + # managed riscv64 Python instead. + - name: Set up uv + uses: astral-sh/setup-uv@v7 - name: Build wheel run: | + uv venv --python 3.12 /tmp/build-venv . /tmp/build-venv/bin/activate + uv pip install --upgrade maturin maturin build --release --out /tmp/wheels/ --manifest-path Cargo.toml - name: Verify platform tag @@ -59,7 +63,7 @@ jobs: release: needs: build - runs-on: [self-hosted, linux, riscv64] + runs-on: ubuntu-latest if: success() env: GH_REPO: ${{ github.repository }} @@ -100,8 +104,7 @@ jobs: gh release create "$TAG" \ --title "$TITLE" \ --notes "Prebuilt riscv64 wheel. - Built on: BananaPi F3 (SpacemiT K1, rv64imafdcv) - Python: $(python3 --version 2>&1) + Built on: RISE riscv64 runner (ubuntu-24.04-riscv) Wheel: ${{ steps.wheel_info.outputs.whl_name }}" \ /tmp/wheels/*.whl \ /tmp/wheels/SHA256SUMS