catalog
catalog
¶
Distro-slot catalog — facts about the shared matrix base images.
Everything in here is a property of a slot (the base image and how a
test container on it behaves), never of a consuming repository: which
Containerfile builds it, which podman the distro ships, whether the image
is systemd-free, and which user runs the tests. Repo-specific choices
(slot selection, extra packages, test phases) live in each repo's
matrix.yml — see config.
Two slot kinds exist:
container— a regular distro image; tests run viasuas the slot's test user.nix— the wrapped-Python oddball (nosu, no podman inside); the runner switches users via Pythonos.setuidand reports the Python version instead of a podman version.
SOURCE_MOUNT = '/src'
module-attribute
¶
WORKSPACE_DIR = '/workspace'
module-attribute
¶
RESULTS_MOUNT = '/results'
module-attribute
¶
PYTHON_VERSION = '3.12'
module-attribute
¶
OWNERSHIP_LABEL = 'io.terok.matrix-test'
module-attribute
¶
MATRIX_ENV = 'TEROK_MATRIX'
module-attribute
¶
EXPECT_ENV = 'TEROK_EXPECT'
module-attribute
¶
FLAVORS = ('podman', 'dbus')
module-attribute
¶
UV_IMAGE_TAG = '0.11'
module-attribute
¶
UV_MANAGED_PYTHON_DIR = '/opt/uv/python'
module-attribute
¶
SLOTS = {'debian12': SlotSpec(expected_podman='4.3.1'), 'ubuntu2404': SlotSpec(expected_podman='4.9.3'), 'ubuntu2604': SlotSpec(expected_podman='5.7.0'), 'debian13': SlotSpec(expected_podman='5.4.2'), 'fedora43': SlotSpec(expected_podman='5.8.4'), 'fedora44': SlotSpec(expected_podman='5.8.4'), 'podman': SlotSpec(expected_podman='latest', user='podman'), 'alpine': SlotSpec(expected_podman='5.3.2', non_systemd=True), 'void': SlotSpec(expected_podman='latest', non_systemd=True), 'mageia': SlotSpec(expected_podman='4.9.5'), 'nix': SlotSpec(kind=(SlotKind.NIX))}
module-attribute
¶
SlotKind
¶
SlotSpec(expected_podman='latest', non_systemd=False, user='testrunner', kind=SlotKind.CONTAINER)
dataclass
¶
Facts about one matrix slot's base image.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
expected_podman
|
str
|
Distro-shipped podman version the slot is pinned
to; |
'latest'
|
non_systemd
|
bool
|
The runner hard-fails the slot if systemd is present — these slots exist to prove the systemd-free floor. |
False
|
user
|
str
|
Non-root user baked into the image (uid 1000). |
'testrunner'
|
kind
|
SlotKind
|
Driving mode, see |
CONTAINER
|