From f8c186fe2c82d5a095af0a7bf8ac61c64a9f73e9 Mon Sep 17 00:00:00 2001 From: "tao.chen" <93983997+taochen-ct@users.noreply.github.com> Date: Tue, 21 Jul 2026 19:14:49 +0800 Subject: [PATCH] ci: switch runner from astral-uv to ubuntu-latest Replaces the self-hosted astral-uv runner (which had uv pre-installed) with the standard GitHub-hosted ubuntu-latest. Adds back the astral-sh/setup-uv step that was omitted in the self-hosted case. The astral-uv runner was timing out / unreachable from the GitHub Actions side; ubuntu-latest is universally available. Trade-off: ubuntu-latest runners start fresh each run (~30s cold start) and the setup-uv step takes a few seconds to download uv, versus a self-hosted runner that boots in <1s with uv ready. For a single CI job that runs on tag push only, the extra ~10s is not a problem. Co-Authored-By: Claude --- .github/workflows/build.yml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 18257f7..a8335e5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,20 +11,25 @@ on: jobs: ci: name: CI - # `astral-uv` is a self-hosted runner with uv pre-installed, so we can - # skip the setup-uv step entirely. pyproject.toml's - # [tool.hatch.build.hooks.jupyter-builder] handles jlpm install + - # jlpm build:prod before wheel assembly. - runs-on: astral-uv + # Standard GitHub-hosted ubuntu runner. uv is installed via the + # astral-sh/setup-uv action (one extra step vs. using a self-hosted + # runner with uv pre-installed, but matches what GitHub-hosted CI + # provides out of the box). + runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 + - name: Set up uv + uses: astral-sh/setup-uv@v6 + with: + enable-cache: true + - name: Build package env: # Use the Tsinghua PyPI mirror for build-environment resolution; - # the self-hosted runner is in China and the default pypi.org is - # too slow / unreliable for build dependency install. + # the runner is in China and the default pypi.org is too slow + # / unreliable for build dependency install. UV_DEFAULT_INDEX: "https://pypi.tuna.tsinghua.edu.cn/simple/" run: uv build