name: Rust
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
jobs:
rust_check:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, windows-2022, macos-11]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Run Rust check + clippy
run: make rust-check
- name: Run unit tests
run: make test
- name: Launch integration test services
if: ${{ startswith(matrix.os, 'ubuntu') }}
uses: sudo-bot/action-docker-compose@latest
with:
cli-args: "-f ./tools/docker-compose.yml up --detach"
- name: Run integration tests
if: ${{ startswith(matrix.os, 'ubuntu') }}
run: cargo test --no-fail-fast --bin wash --test "integration*" -- --nocapture