chore: release v0.1.1 #8
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] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| test: | |
| name: Test & lint (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: ${{ matrix.os }} | |
| - name: Format | |
| if: runner.os == 'Linux' # formatting is platform-independent | |
| run: cargo fmt --all --check | |
| - name: Clippy (all features, warnings denied) | |
| run: cargo clippy --all-targets --all-features -- -D warnings | |
| - name: Test (all features) | |
| run: cargo test --all-features | |
| features: | |
| name: Feature combinations | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: features | |
| # The sans-I/O core must build with no runtime / TLS / protocol features. | |
| - name: Core only (no default features) | |
| run: cargo build --no-default-features | |
| - name: TLS + HTTP/1.1 only | |
| run: cargo build --no-default-features --features rt-threadpool,tls | |
| - name: HTTP/2 (no HTTP/3) | |
| run: cargo build --no-default-features --features rt-threadpool,tls,h2 | |
| - name: Router (no TLS, dependency-free) | |
| run: cargo build --no-default-features --features rt-threadpool,router | |
| - name: ACME without HTTP/3 | |
| run: cargo build --no-default-features --features cli,tls,acme | |
| - name: tokio runtime | |
| run: cargo build --no-default-features --features rt-tokio,tls,h2 | |
| - name: mio runtime | |
| run: cargo build --no-default-features --features rt-mio,tls | |
| - name: Everything | |
| run: cargo build --all-features | |
| msrv: | |
| name: MSRV (Rust 1.88) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| # Keep this pin in sync with `rust-version` in Cargo.toml. The default | |
| # feature set (no tokio/mio/rsurl) is the surface we promise to build on | |
| # the declared minimum; compile-only (behavior is covered by `test`). | |
| - name: Install Rust 1.88 (declared MSRV) | |
| uses: dtolnay/rust-toolchain@1.88 | |
| - name: Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: msrv | |
| - name: cargo check (default features) | |
| run: cargo check --all-targets | |
| docs: | |
| name: Docs build (warnings denied) | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTDOCFLAGS: -D warnings -D rustdoc::broken-intra-doc-links | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache | |
| uses: Swatinem/rust-cache@v2 | |
| - name: cargo doc --no-deps --all-features | |
| run: cargo doc --no-deps --all-features |