name: CI on: push: pull_request: branches: '*' jobs: test: name: Build mode ${{ matrix.build_mode }} runs-on: ubuntu-latest 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 }}