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