debian-forge/.github/workflows/tests.yml
David Rheinsberg 2aa9755f88 ci: regenerate test data
Run the MPP tools in the CI and verify the committed test-data did not
change and is up-to-date.

This runs `make test-data` and then simply uses `git diff --exit-code`
to trigger a CI failure if there are any differences in ./test/data.
2020-06-05 09:27:40 +02:00

115 lines
2.7 KiB
YAML

name: Tests
on: [pull_request, push]
jobs:
source_tests:
name: "Source Tests"
runs-on: ubuntu-latest
steps:
- name: "Clone Repository"
uses: actions/checkout@v2
- name: "Run Source Tests"
uses: osbuild/containers/ghci/actions/ghci-osbuild@ghci/v1
with:
run: make test-src
module:
name: "Module Unittests"
runs-on: ubuntu-latest
container: docker.io/library/python:3.7
steps:
- name: Clone repository
uses: actions/checkout@v2
- name: Run Module Unittests
run: make test-module
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
unit_tests:
name: "unit"
runs-on: ubuntu-latest
container:
image: docker.io/library/python:3.7
options: --privileged # Needed for bind mounts in unit tests
steps:
- name: Clone repository
uses: actions/checkout@v2
with:
path: osbuild
- name: Install Dependencies
run: pip install jsonschema
- name: Run test_osbuild
run: |
cd osbuild
python3 -m unittest -v test.test_osbuild
- name: Run test_objectstore
run: |
cd osbuild
python3 -m unittest -v test.test_objectstore
sample_validation:
name: "sample validation"
runs-on: ubuntu-latest
container:
image: docker.io/library/python:3.7
steps:
- name: Clone repository
uses: actions/checkout@v2
with:
path: osbuild
- name: Install Dependencies
run: |
pip install jsonschema
- name: Validate the samples
run: |
cd osbuild
for f in samples/*; do
python3 -m osbuild --libdir . --inspect "$f" > /dev/null
done
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/ghci/actions/ghci-osbuild@ghci/v1
with:
run: |
make --always-make test-data
git diff --exit-code -- ./test/data