Remove in-repo BSR plugin artifacts (#13) #24
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 | |
| RUSTFLAGS: -Dwarnings | |
| jobs: | |
| check: | |
| name: Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: sudo apt-get install -y protobuf-compiler | |
| - run: cargo check --workspace --all-features | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: sudo apt-get install -y protobuf-compiler | |
| - run: cargo test --workspace --all-features | |
| clippy: | |
| name: Clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: sudo apt-get install -y protobuf-compiler | |
| - run: cargo clippy --workspace --all-features -- -D warnings | |
| fmt: | |
| name: Format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: rustfmt | |
| - run: cargo +nightly fmt --all -- --check | |
| doc: | |
| name: Documentation | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTDOCFLAGS: -Dwarnings | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: sudo apt-get install -y protobuf-compiler | |
| - run: cargo doc --workspace --all-features --no-deps | |
| # Integration test: start server, run client, verify RPCs work end-to-end | |
| examples: | |
| name: Examples | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: sudo apt-get install -y protobuf-compiler | |
| - run: ./examples/multiservice/test.sh | |
| # Conformance tests: validate protocol compliance. | |
| # Matrix runs server and client suites in parallel — the server suite | |
| # (~20s) finishes in the shadow of the client suite (~90s), so the | |
| # duplicated build is net-faster than running both serially. | |
| conformance: | |
| name: Conformance (${{ matrix.mode }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - mode: server | |
| config: conformance/config/connect-only.yaml | |
| bin: conformance-server | |
| - mode: client | |
| config: conformance/config/client-connect-only.yaml | |
| bin: conformance-client | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Download conformance runner | |
| run: ./conformance/scripts/download-conformance.sh | |
| - name: Build conformance binary | |
| run: cargo build --release -p connectrpc-conformance --bin ${{ matrix.bin }} | |
| - name: Run conformance suite | |
| run: | | |
| ./conformance/bin/connectconformance --mode ${{ matrix.mode }} \ | |
| --conf ${{ matrix.config }} \ | |
| -- ./target/release/${{ matrix.bin }} | |
| # Test with minimal feature set | |
| minimal: | |
| name: Minimal features | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo check -p connectrpc --no-default-features | |
| - run: cargo test -p connectrpc --no-default-features |