v86/.github/workflows/main.yml
2022-08-02 21:40:57 +09:00

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