Skip to content

Get CI testing working again and prevent future bit-rot #392

Get CI testing working again and prevent future bit-rot

Get CI testing working again and prevent future bit-rot #392

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
build_and_test:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
include:
# Release builds.
- os: ubuntu-20.04
build_options: RELEASE=1
# Debug builds.
- os: ubuntu-20.04
build_options:
steps:
- uses: actions/checkout@v2
- name: Cache files
uses: actions/cache@v2
with:
path: |
~/.cargo
target
build
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Show toolchain versions
run: |
rustup show
rustup --version
rustc --version
cargo --version
- name: Install cargo crates
run: cargo install cargo-binutils@0.3.6 rustfilt@0.2.1
- name: make check
run: make check
- name: Build Kerla
run: make ${{ matrix.build_options }}
- name: Lint
run: make strict-lint
- name: Install QEMU
run: sudo apt-get update && sudo apt-get install -y qemu-system
- name: Run unit tests
run: make test ${{ matrix.build_options }}
- name: Run integration tests
run: >
make run
${{ matrix.build_options }}
INIT_SCRIPT="TESTS_DIR=/integration_tests /integration_tests/run.sh; halt -f"
DISABLE_AUTO_CR_PRINT=1
| tee run.log
- name: Check if all integration tests are passed
run: cat run.log | grep "Passed all integration tests"