-
Notifications
You must be signed in to change notification settings - Fork 31
42 lines (38 loc) · 1.38 KB
/
main.yml
File metadata and controls
42 lines (38 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
name: CI
on:
push:
pull_request:
branches: '*'
jobs:
test:
name: Build mode ${{ matrix.build_mode }}
runs-on: ubuntu-20.04
strategy:
matrix:
build_mode: ["", -Drelease-fast, -Drelease-safe, -Drelease-small]
steps:
- uses: actions/checkout@v1
- name: Download zig
run: |
export PYTHONIOENCODING=utf8
wget https://ziglang.org/download/0.9.1/zig-linux-x86_64-0.9.1.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 }}
- name: Run runtime test - Memory
run: zig*/zig build rt-test -Ddisable-display -Dtest-mode=Memory ${{ matrix.build_mode }}