name: rust
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
env:
RUST_BACKTRACE: 1
steps:
- name: Install rsync from Chocolatey
if: ${{ matrix.os == 'windows-latest' }}
run: choco install rsync
- uses: actions/checkout@v2
- name: Build
run: cargo build --all --verbose --all-targets
- name: Unit tests
run: cargo test --lib --bins
- name: Integration tests
if: ${{ matrix.os != 'windows-latest' }}
run: cargo test --tests