fix: vendor git2 OpenSSL dependencies #76
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - master | |
| merge_group: | |
| types: | |
| - checks_requested | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_INCREMENTAL: 0 | |
| CARGO_NET_RETRY: 10 | |
| CARGO_TERM_COLOR: always | |
| RUSTUP_MAX_RETRIES: 10 | |
| RUST_BACKTRACE: short | |
| RUSTFLAGS: "-D warnings" # Treat warnings as errors | |
| jobs: | |
| formatting: | |
| name: cargo-fmt | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: nightly | |
| components: rustfmt | |
| - name: Rust Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| save-if: ${{ github.event_name == 'push' }} | |
| - name: Check formatting | |
| shell: bash | |
| run: cargo +nightly fmt --all --check | |
| security-audit: | |
| name: security-audit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| - name: Install cargo-audit | |
| run: cargo install cargo-audit | |
| - name: Run security audit | |
| run: cargo audit | |
| typos: | |
| name: spell-check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Spell check | |
| uses: crate-ci/typos@master | |
| test: | |
| name: test-${{ matrix.runner }} | |
| runs-on: ${{ matrix.runner }} | |
| timeout-minutes: 30 | |
| env: | |
| RUSTFLAGS: "-D warnings" | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| runner: | |
| - ubuntu-latest | |
| - macos-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Install mold linker | |
| uses: rui314/setup-mold@v1 | |
| if: ${{ runner.os == 'Linux' }} | |
| with: | |
| make-default: true | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| components: clippy | |
| - name: Rust Cache | |
| uses: Swatinem/rust-cache@v2.7.0 | |
| with: | |
| save-if: ${{ github.event_name == 'push' }} | |
| - name: Run tests | |
| run: cargo test --all-features --all-targets | |
| - name: Run tests (release) | |
| run: cargo test --release --all-features --all-targets | |
| - name: Run Clippy | |
| run: cargo clippy --all-features --all-targets | |
| docs: | |
| name: documentation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: nightly | |
| components: rustfmt | |
| - name: Rust Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| save-if: ${{ github.event_name == 'push' }} | |
| - name: Check documentation | |
| env: | |
| RUSTDOCFLAGS: "-D warnings" | |
| run: cargo doc --no-deps --document-private-items | |
| - name: Run doctests | |
| run: cargo test --doc |