2c91e6f9d0
Added the new testing to the OS files Some spelling INOUT => IN/OUT Added some doc comments to log Added the new runtime to the build + added the None test mode Moved some stuff around None test mode is the default to run/build the OS normally with no runtime tests. Add the new runtime testing to the CI Updated README and CI Increased timeout Print the log message Spelling Move runtime to test folder Add new RT to tty Add a log to use the unmapped memory to cause page fault in release Ensure the integer overflow happens even in release builds
39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: "*"
|
|
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 }}
|