ci: import runtime tests to github actions

Continue our effort to move to Github-actions. This imports the runtime
tests from Travis into Github-actions. The `test_boot` test is still
left on travis, since it requires stacked KVM, which is not yet
available on github-actions.
This commit is contained in:
David Rheinsberg 2020-03-23 12:30:46 +01:00
parent 52b80a2a23
commit dedc801688
2 changed files with 95 additions and 14 deletions

95
.github/workflows/runtime-tests.yml vendored Normal file
View file

@ -0,0 +1,95 @@
name: Runtime Tests
on: [pull_request, push]
#
# We set `PYTHONUNBUFFERED` to get more immediate and ordered output from
# python programs. This should not be necessary if all relevant output used the
# unbuffered stderr, but that is not entirely under our control.
#
env:
PYTHONUNBUFFERED: 1
jobs:
noop_pipeline_tests:
name: "Noop-Pipeline Tests"
runs-on: ubuntu-latest
steps:
- name: "Clone Repository"
uses: actions/checkout@v2
- name: "Install Dependencies"
run: |
sudo apt-get update
sudo apt-get -y install \
systemd-container
- name: "Set up Python"
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: "Run Noop-Pipeline Tests"
run: |
for i in {0..2} ; do
sudo env "PATH=$PATH" python3 -m osbuild --libdir . samples/noop.json
done
source_tests:
name: "Source Tests"
runs-on: ubuntu-latest
steps:
- name: "Clone Repository"
uses: actions/checkout@v2
- name: "Install Dependencies"
run: |
sudo apt-get update
sudo apt-get -y install \
rpm \
systemd-container
- name: "Set up Python"
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: "Run Source Tests"
run: sudo env "PATH=$PATH" python3 -m unittest -v test.test_sources
assembler_tests:
name: "Assembler Tests"
runs-on: ubuntu-latest
steps:
- name: "Clone Repository"
uses: actions/checkout@v2
- name: "Install Dependencies"
run: |
sudo apt-get update
sudo apt-get -y install \
nbd-client \
qemu-utils \
rpm \
systemd-container \
tar \
yum
- name: "Set up Python"
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: "Run Assembler Tests"
run: sudo env "PATH=$PATH" python3 -m unittest -v test.test_assemblers
stage_tests:
name: "Stage Tests"
runs-on: ubuntu-latest
steps:
- name: "Clone Repository"
uses: actions/checkout@v2
- name: "Install Dependencies"
run: |
sudo apt-get update
sudo apt-get -y install \
systemd-container \
tar \
yum
- name: "Set up Python"
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: "Run Stage Tests"
run: sudo env "PATH=$PATH" python3 -m unittest -v test.test_stages

View file

@ -6,20 +6,6 @@ env:
- PYTHONUNBUFFERED=1
jobs:
include:
- name: pipeline-noop
before_install: sudo apt-get install -y systemd-container
script:
- sudo env "PATH=$PATH" python3 -m osbuild --libdir . samples/noop.json
- sudo env "PATH=$PATH" python3 -m osbuild --libdir . samples/noop.json
- name: sources-tests
before_install: sudo apt-get install -y rpm
script: sudo env "PATH=$PATH" python3 -m unittest -v test.test_sources
- name: f30-boot
before_install: sudo apt-get install -y systemd-container yum qemu-kvm
script: sudo env "PATH=$PATH" python3 -m unittest -v test.test_boot
- name: assemblers
before_install: sudo apt-get install -y systemd-container yum tar qemu-utils nbd-client
script: sudo env "PATH=$PATH" python3 -m unittest -v test.test_assemblers
- name: stage-tests
before_install: sudo apt-get install -y systemd-container yum
script: sudo env "PATH=$PATH" python3 -m unittest -v test.test_stages