With fedora moving to python3.12 we can stop testing on py311. As a drive-by this commit also documents why we need to test on py36 and py39.
53 lines
1.9 KiB
YAML
53 lines
1.9 KiB
YAML
name: Tests
|
|
|
|
on: [pull_request, push]
|
|
|
|
jobs:
|
|
test_suite:
|
|
name: "Unittest"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
test:
|
|
- "test.mod"
|
|
- "test.run.test_assemblers"
|
|
- "test.run.test_boot"
|
|
- "test.run.test_devices"
|
|
- "test.run.test_executable"
|
|
- "test.run.test_mount"
|
|
- "test.run.test_noop"
|
|
- "test.run.test_sources"
|
|
- "test.run.test_stages"
|
|
- "stages/test"
|
|
environment:
|
|
- "py36" # RH8
|
|
- "py39" # RH9
|
|
- "py312" # latest fedora
|
|
steps:
|
|
- name: "Clone Repository"
|
|
uses: actions/checkout@v3
|
|
- name: "Run"
|
|
uses: osbuild/containers/src/actions/privdocker@552e30cf1b4ed19c6ddaa57f96c342b3dff4227b
|
|
with:
|
|
image: ghcr.io/osbuild/osbuild-ci:latest-202308241910
|
|
run: |
|
|
# Note that only "test.run.test_stages" runs in parallel because
|
|
# the other tests are not sufficiently isolated and will cause
|
|
# random failures. But test_stages is the long running one with
|
|
# almost 2h.
|
|
if [ "${{ matrix.test }}" = "test.run.test_stages" ]; then
|
|
# Using 4 workers is a bit arbitrary, "auto" is probably too
|
|
# aggressive.
|
|
export TEST_WORKERS="-n 4"
|
|
# Share the store between the workers speeds things up further
|
|
export OSBUILD_TEST_STORE=/var/tmp/osbuild-test-store
|
|
fi
|
|
|
|
# Hacky replacement of container storage driver:
|
|
# The default overlayfs doesn't work in the runner, so let's change
|
|
# it to vfs for the local storage skopeo stage test.
|
|
sed -i 's/overlay/vfs/g' /usr/share/containers/storage.conf # default system config
|
|
sed -i 's/overlay/vfs/g' /etc/containers/storage.conf || true # potential overrides
|
|
TEST_CATEGORY="${{ matrix.test }}" \
|
|
tox -e "${{ matrix.environment }}"
|