# A lot of this has been copied from https://github.com/axodotdev/cargo-dist/blob/main/.github/workflows/ci.yml name: MinedMap Rust CI on: pull_request: push: env: RUSTFLAGS: -Dwarnings RUSTDOCFLAGS: -Dwarnings jobs: fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@master with: # Use beta for now for let-else formatting toolchain: beta components: rustfmt - run: cargo fmt --all -- --check clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@master with: toolchain: stable components: clippy - uses: swatinem/rust-cache@v2 - uses: actions-rs/clippy-check@v1 env: PWD: ${{ env.GITHUB_WORKSPACE }} with: token: ${{ secrets.GITHUB_TOKEN }} args: --workspace --tests --examples docs: runs-on: ubuntu-latest env: RUSTDOCFLAGS: -Dwarnings steps: - uses: actions/checkout@master - uses: dtolnay/rust-toolchain@master with: toolchain: stable components: rust-docs - uses: swatinem/rust-cache@v2 - run: cargo doc --workspace --no-deps --document-private-items test: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macOS-latest] rust: [stable] steps: - uses: actions/checkout@master - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - uses: swatinem/rust-cache@v2 # Run the tests/doctests (default features) - run: cargo test --workspace env: PWD: ${{ env.GITHUB_WORKSPACE }} # Run the tests/doctests (no default features) - run: cargo test --workspace --no-default-features env: PWD: ${{ env.GITHUB_WORKSPACE }} # Test the examples (default features) - run: cargo test --workspace --examples --bins env: PWD: ${{ env.GITHUB_WORKSPACE }} # Test the examples (no default features) - run: cargo test --workspace --no-default-features --examples --bins env: PWD: ${{ env.GITHUB_WORKSPACE }}