name: CI on: pull_request: push: branches: [main, staging, trying] env: CARGO_INCREMENTAL: 0 CARGO_NET_RETRY: 10 CI: 1 RUST_BACKTRACE: short RUSTFLAGS: -D warnings RUSTUP_MAX_RETRIES: 10 jobs: test: name: test runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable if: matrix.os != 'windows-latest' - uses: dtolnay/rust-toolchain@stable with: targets: x86_64-pc-windows-msvc,i686-pc-windows-msvc if: matrix.os == 'windows-latest' - uses: Swatinem/rust-cache@v2 - run: cargo test - run: cargo run --example version - run: cargo run --target i686-pc-windows-msvc --example version if: matrix.os == 'windows-latest' - name: Windows only tests if: matrix.os == 'windows-latest' run: | cd windows-example cargo run cargo run --features manifest check_fmt_and_docs: name: Checking fmt and docs runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - uses: Swatinem/rust-cache@v2 - name: fmt run: cargo fmt --all -- --check - name: Clippy run: cargo clippy --all --all-targets --all-features - name: Docs run: cargo doc