Skip to content

Commit 5f44b7e

Browse files
EliahKaganclaude
andcommitted
ci: run the uv-sync job on ubuntu-slim
Most GitHub-hosted runners are full VMs. `ubuntu-slim` runners are instead single-CPU containers with 5 GB of RAM and a hard 15-minute job timeout. They run unprivileged, so they cannot run Docker containers, which rules out job containers and container actions. GitHub describes them as a lower-cost option for short, lightweight jobs, not for typical CI builds. Being containers, they may also be created and torn down faster than VMs. The jobs here were checked for whether they could reasonably move to `ubuntu-slim`. Only one could: the `uv-sync` job in `dependencies.yml`. It checks out the repository, installs `uv` with `astral-sh/setup-uv` (a Node action), and runs `uv sync --all-extras --all-groups --dry-run` to check that the dependencies and dependency groups resolve. It runs no tests, uses no containers, and took 6 seconds in the most recent run on `main`. The other Linux jobs stay where they are: - Jobs that run test suites, which take minutes and can use more than one CPU: the `pythonpackage.yml` tests (about 7 to 10 minutes), `downstream.yml` (3 to 5 minutes), `git-cli.yml` (which also builds Git), and the `smmap` and `gitdb` tests in `dependencies.yml`. - `alpine-test.yml`, which runs in a job container. - `backend-benchmark.yml`, whose timings would be distorted by a single CPU. - The `install/import` jobs in `pythonpackage.yml`. They are quick, but they run GitPython, and `ubuntu-slim` has Git 2.43.0, below the 2.52 that GitPython requires. - The disabled `codeql.yml`, since CodeQL analysis is not lightweight. `lint.yml` and `zizmor.yml` already use `ubuntu-slim`. On the fork, the job passed on `ubuntu-slim` in 12 seconds. It resolved 110 packages and would download and install 55, the same as in the run on `ubuntu-latest` just before this change. The interpreter `uv` found differs, as expected: CPython 3.12.3 on `ubuntu-slim` and 3.14.4 on `ubuntu-latest` (Ubuntu 26.04). `actionlint` reports no problems. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 7a7c288 commit 5f44b7e

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎.github/workflows/dependencies.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
pytest -o addopts= -v smmap/smmap/test
5252
fi
5353
uv-sync:
54-
runs-on: ubuntu-latest
54+
runs-on: ubuntu-slim
5555
steps:
5656
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
5757
with:

0 commit comments

Comments
 (0)