2019-09-17 18:49:53 +01:00
|
|
|
name: CI
|
|
|
|
|
2020-04-14 14:43:27 +01:00
|
|
|
on:
|
|
|
|
push:
|
|
|
|
pull_request:
|
2020-12-27 13:11:38 +00:00
|
|
|
branches: '*'
|
2019-09-17 18:49:53 +01:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
test:
|
|
|
|
name: Build mode ${{ matrix.build_mode }}
|
2021-04-27 18:07:11 +00:00
|
|
|
runs-on: ubuntu-18.04
|
2019-09-17 18:49:53 +01:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2020-06-23 12:43:52 +01:00
|
|
|
build_mode: ["", -Drelease-fast, -Drelease-safe, -Drelease-small]
|
2019-09-17 18:49:53 +01:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v1
|
|
|
|
|
|
|
|
- name: Download zig
|
|
|
|
run: |
|
|
|
|
export PYTHONIOENCODING=utf8
|
2021-06-07 14:00:33 -08:00
|
|
|
wget https://ziglang.org/download/0.9.1/zig-linux-x86_64-0.9.1.tar.xz
|
2019-09-17 18:49:53 +01:00
|
|
|
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
|
2020-06-23 12:43:52 +01:00
|
|
|
- name: Check formatting
|
|
|
|
run: zig*/zig fmt --check src
|
2020-01-09 13:08:00 +00:00
|
|
|
- name: Build kernel
|
|
|
|
run: zig*/zig build ${{ matrix.build_mode }}
|
|
|
|
- name: Run unit tests
|
|
|
|
run: zig*/zig build test ${{ matrix.build_mode }}
|
2020-06-23 12:43:52 +01:00
|
|
|
- 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 }}
|
2020-07-18 22:46:24 +01:00
|
|
|
- name: Run runtime test - Scheduler
|
|
|
|
run: zig*/zig build rt-test -Ddisable-display -Dtest-mode=Scheduler ${{ matrix.build_mode }}
|