name: Tests on: [pull_request, push] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true env: # Share the store between the workers speeds things up further OSBUILD_TEST_STORE: /var/tmp/osbuild-test-store jobs: test_suite: name: "Unittest" runs-on: ubuntu-latest strategy: fail-fast: false matrix: test: - parallel - normal environment: - "py36" # RH8 - "py39" # RH9 - "py312" # latest fedora steps: - name: "Clone Repository" uses: actions/checkout@v4 - name: "Run" uses: osbuild/containers/src/actions/privdocker@552e30cf1b4ed19c6ddaa57f96c342b3dff4227b with: image: ghcr.io/osbuild/osbuild-ci:latest-202404252004 run: | # 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 if [ "${{ matrix.test }}" == "parallel" ]; then # 4 is a bit arbitrary TEST_WORKERS="-n 4" TEST_CATEGORY="test_stages.py" else # test_assemblers.py is run below TEST_CATEGORY="not test_stages.py and not test_assemblers.py" fi OSBUILD_TEST_STORE="${{ env.OSBUILD_TEST_STORE }}" \ tox -e "${{ matrix.environment }}" -- -rs $TEST_WORKERS -k "$TEST_CATEGORY" v1_manifests: name: "Assembler test (legacy)" runs-on: ubuntu-latest steps: - name: "Clone Repository" uses: actions/checkout@v4 - name: "Run" uses: osbuild/containers/src/actions/privdocker@552e30cf1b4ed19c6ddaa57f96c342b3dff4227b env: # Using 4 workers is a bit arbitrary, "auto" is probably too aggressive. TEST_WORKERS: "-n 4" with: image: ghcr.io/osbuild/osbuild-ci:latest-202404252004 run: | OSBUILD_TEST_STORE="${{ env.OSBUILD_TEST_STORE }}" \ tox -e "py36" -- ${{ env.TEST_WORKERS }} test.run.test_assemblers