name: Build and Test on: push: branches: [ main, develop ] pull_request: branches: [ main, develop ] env: CARGO_TERM_COLOR: always jobs: build: strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Cache build data uses: actions/cache@v2 with: path: | target ~/.cargo/ key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} restore-keys: | ${{ runner.os }}-cargo- - name: Build run: cargo build --verbose - name: Run tests run: cargo test --verbose --tests - name: Run rmp serialization tests run: cargo test --verbose --all --features serialize_rmp - name: Run bincode serialization tests run: cargo test --verbose --all --features serialize_bincode - name: Run postcard serialization tests run: cargo test --verbose --all --features serialize_postcard - name: Run json serialization tests run: cargo test --verbose --all --features serialize_json - name: Run all serialization tests run: cargo test --verbose --all --all-features