41 lines
1.3 KiB
YAML
41 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
|
|
# Lock the master commit that we download, because of blocking issues
|
|
wget https://ziglang.org/builds/zig-linux-x86_64-0.8.0-dev.2133+ad33e3483.tar.xz
|
|
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 }}
|