pluto/.github/workflows/main.yml
2021-05-05 21:35:19 +01:00

40 lines
1.3 KiB
YAML

name: CI
on:
push:
pull_request:
branches: '*'
jobs:
test:
name: Build mode ${{ matrix.build_mode }}
runs-on: ubuntu-18.04
strategy:
matrix:
build_mode: ["", -Drelease-fast, -Drelease-safe, -Drelease-small]
steps:
- uses: actions/checkout@v1
- name: Download zig
run: |
export PYTHONIOENCODING=utf8
wget $(curl -s 'https://ziglang.org/download/index.json' | python3 -c "import sys, json; print(json.load(sys.stdin)['master']['x86_64-linux']['tarball'])")
sudo apt-get install mtools
tar -xvf zig*
- name: Install qemu
run: |
sudo apt-get update
sudo apt-get install qemu qemu-system --fix-missing
- name: Check formatting
run: zig*/zig fmt --check src
- name: Build kernel
run: zig*/zig build ${{ matrix.build_mode }}
- name: Run unit tests
run: zig*/zig build test ${{ matrix.build_mode }}
- name: Run runtime test - Initialisation
run: zig*/zig build rt-test -Ddisable-display -Dtest-mode=Initialisation ${{ matrix.build_mode }}
- name: Run runtime test - Panic
run: zig*/zig build rt-test -Ddisable-display -Dtest-mode=Panic ${{ matrix.build_mode }}
- name: Run runtime test - Scheduler
run: zig*/zig build rt-test -Ddisable-display -Dtest-mode=Scheduler ${{ matrix.build_mode }}