release: v1.3.25 — retry DoH lookups on transient h2 connection resets #96
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: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| check: | |
| name: Check & Lint | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable | |
| with: | |
| components: clippy, rustfmt | |
| - name: Cache cargo registry & build | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| # Exact-match only: a blanket restore-keys on "${{ runner.os }}-cargo-" | |
| # restored stale target/ artifacts from older Cargo.lock hashes, which | |
| # previously masked a breaking dependency bump (hickory 0.25 → 0.26) | |
| # from tripping cargo build. No fallback now — if Cargo.lock changes, | |
| # the cache key changes and we build from scratch. | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Check formatting | |
| run: cargo fmt -- --check | |
| - name: Clippy | |
| run: cargo clippy --all-targets -- -D warnings | |
| test: | |
| name: Test | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable | |
| - name: Cache cargo registry & build | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| # Exact-match only: a blanket restore-keys on "${{ runner.os }}-cargo-" | |
| # restored stale target/ artifacts from older Cargo.lock hashes, which | |
| # previously masked a breaking dependency bump (hickory 0.25 → 0.26) | |
| # from tripping cargo build. No fallback now — if Cargo.lock changes, | |
| # the cache key changes and we build from scratch. | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Build | |
| run: cargo build | |
| - name: Run unit tests | |
| run: cargo test --lib --bins | |
| - name: Run integration tests | |
| run: cargo test --test proxy_integration --test signal_integration --test sandbox_integration --test e2e_integration | |
| build-release: | |
| name: Build Release | |
| runs-on: macos-latest | |
| needs: [check, test] | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable | |
| - name: Cache cargo registry & build | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| # Exact-match only: a blanket restore-keys on "${{ runner.os }}-cargo-" | |
| # restored stale target/ artifacts from older Cargo.lock hashes, which | |
| # previously masked a breaking dependency bump (hickory 0.25 → 0.26) | |
| # from tripping cargo build. No fallback now — if Cargo.lock changes, | |
| # the cache key changes and we build from scratch. | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Build release binary | |
| run: cargo build --release | |
| - name: Upload binary | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 | |
| with: | |
| name: ziplock-macos | |
| path: target/release/ziplock |