debian-forge/.github/workflows/tests.yml
David Rheinsberg 87a7b4ae5f ci: update images to F33
We explicitly pinned the F32 CI images in the past due to update issues
in F33. However, those have been resolved and we should switch back to
the most recent Fedora CI images.

This commits switches all instances of the osbuild-ci image back to the
latest stream, snapshot taken on 2021-02-19 13:11 (latest-202102191311).

Signed-off-by: David Rheinsberg <david.rheinsberg@gmail.com>
2021-03-17 14:31:26 +00:00

131 lines
3.5 KiB
YAML

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-202102191311
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
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/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
schutzbot:
name: "🍌 Trigger Schutzbot"
runs-on: ubuntu-latest
container:
image: docker.io/library/python:3.7
steps:
- uses: actions/checkout@v2
- name: Trigger Schutzbot
env:
EVENT_NAME: ${{ github.event_name }}
WEBHOOK_PAYLOAD: ${{ toJSON(github.event) }}
SQS_REGION: us-east-1
SQS_QUEUE_URL: "https://sqs.us-east-1.amazonaws.com/933752197999/schutzbot_webhook_sqs-staging"
run: |
#!/bin/bash
pip3 install boto3 botocore
schutzbot/send_webhook.py