CI: fit the dependency set on the runner's disk
tests / macos-latest · py3.11 (push) Waiting to run
tests / macos-latest · py3.13 (push) Waiting to run
tests / windows-latest · py3.11 (push) Waiting to run
tests / windows-latest · py3.13 (push) Waiting to run
Build PCM package / build (push) Successful in 17s
tests / ubuntu-latest · py3.11 (push) Successful in 1m36s
tests / ubuntu-latest · py3.13 (push) Successful in 2m7s
tests / archlinux:latest (push) Successful in 3m0s
tests / debian:12 (push) Successful in 49s
tests / fedora:latest (push) Successful in 1m22s
tests / ubuntu:24.04 (push) Successful in 1m5s
tests / NixOS (FHS wrapper from docs/NIXOS.md) (push) Has been skipped
tests / macos-latest · py3.11 (push) Waiting to run
tests / macos-latest · py3.13 (push) Waiting to run
tests / windows-latest · py3.11 (push) Waiting to run
tests / windows-latest · py3.13 (push) Waiting to run
Build PCM package / build (push) Successful in 17s
tests / ubuntu-latest · py3.11 (push) Successful in 1m36s
tests / ubuntu-latest · py3.13 (push) Successful in 2m7s
tests / archlinux:latest (push) Successful in 3m0s
tests / debian:12 (push) Successful in 49s
tests / fedora:latest (push) Successful in 1m22s
tests / ubuntu:24.04 (push) Successful in 1m5s
tests / NixOS (FHS wrapper from docs/NIXOS.md) (push) Has been skipped
uv's cache moves into the workspace so it shares a filesystem with .venv and hardlinks instead of double-storing ~1.3 GB per job (the 'Failed to hardlink, falling back to full copy' warning was the tell before ENOSPC), and both matrices run max-parallel 1 so the host holds one dependency set at a time instead of six.
This commit is contained in:
@@ -22,6 +22,10 @@ on:
|
||||
|
||||
env:
|
||||
UV_PYTHON: "3.12"
|
||||
# Cache on the same filesystem as .venv so uv hardlinks instead of
|
||||
# double-storing ~1.3 GB per job (PySide6 + scipy + matplotlib) —
|
||||
# the runner host ran out of disk with the default cache location.
|
||||
UV_CACHE_DIR: .uv-cache
|
||||
# No test opens a window, but if one ever creates a figure the Qt
|
||||
# backend must not try to reach a display on a headless runner.
|
||||
QT_QPA_PLATFORM: offscreen
|
||||
@@ -32,6 +36,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
# Serialized: the runner host has limited disk; one dependency
|
||||
# set at a time keeps peak usage at a single job's worth.
|
||||
max-parallel: 1
|
||||
matrix:
|
||||
python: ["3.11", "3.13"]
|
||||
env:
|
||||
@@ -55,6 +62,8 @@ jobs:
|
||||
container: ${{ matrix.distro }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
# See the linux job: serialized for the runner host's disk.
|
||||
max-parallel: 1
|
||||
matrix:
|
||||
include:
|
||||
# git in every list: the checkout below is plain git because
|
||||
|
||||
Reference in New Issue
Block a user