Repository navigation
Commit 5f44b7e
ci: run the
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>uv-sync job on ubuntu-slim
1 parent 7a7c288 commit 5f44b7e
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| |||
0 commit comments