name: Tests on: [pull_request, push] jobs: test_suite: name: "Test Suite" runs-on: ubuntu-latest strategy: fail-fast: false matrix: test: - "test.mod" - "test.run.test_assemblers" - "test.run.test_boot" - "test.run.test_noop" - "test.run.test_ostree" - "test.run.test_sources" - "test.run.test_stages" - "test.src" steps: - name: "Clone Repository" uses: actions/checkout@v2 with: fetch-depth: 2 # codecov requires this (https://github.com/codecov/codecov-action/issues/190) - name: "Run Tests" uses: osbuild/containers/src/actions/privdocker@e4de123f43b95e99dfe8eed0bd5a1cd58db50715 with: image: ghcr.io/osbuild/osbuild-ci:latest-202106231345 run: | python3 -m pytest \ --pyargs "${{ matrix.test }}" \ --rootdir=. \ --cov-report=xml --cov=osbuild \ -v - name: Send coverage to codecov.io run: bash <(curl -s https://codecov.io/bash) documentation: name: "📚 Documentation" runs-on: ubuntu-latest container: image: docker.io/library/python:3.7 steps: - name: Install Dependencies run: | pip install docutils - name: Clone repository uses: actions/checkout@v2 with: path: osbuild - name: Generate Documentation run: | make \ -f osbuild/Makefile \ SRCDIR=osbuild \ BUILDDIR=build \ RST2MAN=rst2man.py \ man - name: Verify Documentation working-directory: build run: | test -d docs test -f docs/osbuild.1 test_data: name: "Regenerate Test Data" runs-on: ubuntu-latest steps: - name: "Clone Repository" uses: actions/checkout@v2 - name: "Regenerate Test Data" uses: osbuild/containers/src/actions/privdocker@e4de123f43b95e99dfe8eed0bd5a1cd58db50715 with: image: ghcr.io/osbuild/osbuild-ci:latest-202102191311 run: | make test-data git diff --exit-code -- ./test/data codespell: name: "Spell check" runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: codespell-project/actions-codespell@master with: ignore_words_list: msdos skip: ./.git,coverity,rpmbuild,samples