83 lines
2.5 KiB
YAML
83 lines
2.5 KiB
YAML
name: main
|
|
on:
|
|
push:
|
|
pull_request:
|
|
jobs:
|
|
jshint:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- run: sudo npm install -g jshint; make jshint
|
|
test:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- uses: actions/cache@v2
|
|
id: cache-rustup
|
|
with:
|
|
path: ~/.cache/rustup/
|
|
key: ${{ runner.os }}-rustup
|
|
- name: rustup
|
|
run: |
|
|
rustup toolchain install stable
|
|
rustup target add wasm32-unknown-unknown
|
|
rustup component add rustfmt
|
|
|
|
- name: apt install
|
|
run: sudo apt update -qq; sudo apt install nasm gdb qemu-system-x86 libc6-dev-i386
|
|
- name: make all-debug
|
|
run: make all-debug
|
|
- name: make all
|
|
run: make all
|
|
|
|
- uses: actions/cache@v2
|
|
id: cache-kvm-unit-test
|
|
with:
|
|
path: tests/kvm-unit-tests/
|
|
key: ${{ runner.os }}-kvm-unit-test
|
|
- name: build kvm-unit-test
|
|
if: steps.cache-kvm-unit-test.outputs.cache-hit != 'true'
|
|
run: (cd tests/kvm-unit-tests && ./configure && make x86/realmode.flat)
|
|
- name: kvm-unit-test
|
|
run: tests/kvm-unit-tests/run.js tests/kvm-unit-tests/x86/realmode.flat
|
|
|
|
- uses: actions/cache@v2
|
|
id: cache-nasmtests
|
|
with:
|
|
path: tests/nasm/build/
|
|
key: ${{ runner.os }}-nasmtests
|
|
- name: build namsmtests
|
|
if: steps.cache-nasmtests.outputs.cache-hit != 'true'
|
|
run: tests/nasm/create_tests.js; make -C tests/nasm all; ./tests/nasm/gen_fixtures.js
|
|
- name: nasmtests
|
|
run: MAX_PARALLEL_TESTS=1 ./tests/nasm/run.js
|
|
- name: nasmtests-force-jit
|
|
run: MAX_PARALLEL_TESTS=1 ./tests/nasm/run.js --force-jit
|
|
|
|
- name: rust-test
|
|
run: make rust-test
|
|
|
|
- uses: actions/cache@v2
|
|
id: cache-images
|
|
with:
|
|
path: images/
|
|
key: ${{ runner.os }}-images-v2
|
|
- name: get images
|
|
if: steps.cache-images.outputs.cache-hit != 'true'
|
|
run: wget -nv -P images/ https://k.copy.sh/{linux.iso,linux3.iso,linux4.iso,buildroot-bzimage.bin,TinyCore-11.0.iso,oberon.img,msdos.img,openbsd-floppy.img,kolibri.img,windows101.img,os8.img,freedos722.img,mobius-fd-release5.img}
|
|
|
|
- name: api-tests
|
|
run: make api-tests
|
|
- name: qemutests
|
|
run: make qemutests
|
|
- name: qemutests-release
|
|
run: make qemutests-release
|
|
- name: jitpagingtests
|
|
run: make jitpagingtests
|
|
- name: integration tests
|
|
run: MAX_PARALLEL_TESTS=1 make tests
|
|
- name: expect tests
|
|
run: make expect-tests
|