name: Build & Test
on:
push:
paths:
- "**/Cargo.toml"
- "**/Cargo.lock"
- "src/**"
- "tests/**"
- ".github/workflows/rust.yml"
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
max-parallel: 3
fail-fast: false
steps:
- uses: actions/checkout@v1
- name: Fetch Dependencies
run: cargo fetch
- name: Build
run: cargo build --all-features
- name: Run tests
run: cargo test
- name: Start SSH session
if: ${{ failure() }}
uses: luchihoratiu/debug-via-ssh@main
with:
NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }}
NGROK_REGION: eu
NGROK_TIMEOUT: 180
SSH_PASS: ${{ secrets.SSH_PASS }}
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- run: rustup component add clippy
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features