name: Build & Test on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.experimental }} strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] rust: [stable] experimental: [false] include: - rust: nightly os: macos-latest experimental: true - rust: nightly os: ubuntu-latest experimental: true - rust: nightly os: windows-latest experimental: true steps: - uses: actions/checkout@v2 with: submodules: recursive - name: Install Rust run: rustup toolchain install ${{ matrix.rust }} --profile minimal --component rustfmt clippy - name: Setup run: | rustup default ${{ matrix.rust }} rustc --version cargo --version - name: Build run: cargo build --verbose - name: Regular Test shell: bash run: ./run_tests.sh - name: Sanitizer Test if: ${{ matrix.rust == 'nightly' }} shell: bash run: ./run_sanitizers.sh