name: CI on: schedule: - cron: '0 2 * * *' # run at 2 AM UTC push: branches: [ '*' ] pull_request: branches: [ master ] jobs: build: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Build run: cargo build - name: Run tests run: cargo test --workspace - name: Run clippy run: cargo clean && cargo clippy --all-features - name: Security audit uses: actions-rs/audit-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} rustfmt: name: Rustfmt runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Install Rust run: rustup update stable && rustup default stable && rustup component add rustfmt - run: cargo fmt -- --check