# # Configuration for GitHub-based CI, based on the stock GitHub Rust config. # name: Build on: push: branches: [ main ] pull_request: branches: [ main ] jobs: check-style: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install nightly uses: actions-rs/toolchain@v1 with: toolchain: nightly components: rustfmt default: false - name: Install stable uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt default: true - name: Report cargo version run: cargo --version - name: Report rustfmt version run: cargo fmt -- --version - name: Report nightly cargo version run: cargo +nightly --version - name: Report nightly rustfmt version run: cargo +nightly fmt -- --version - name: Check style run: cargo fmt -- --check build-and-test: runs-on: ${{ matrix.os }} strategy: matrix: os: [ ubuntu-latest, windows-latest, macos-latest ] steps: - uses: actions/checkout@v2 - name: Install nightly uses: actions-rs/toolchain@v1 with: toolchain: nightly components: rustfmt default: false - name: Install stable uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt default: true - name: Build run: cargo build --tests --verbose - name: Run tests run: cargo test --verbose