fix: allow user to disable hostname verification regardless of allow_insecure_connection #723
Workflow file for this run
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: Rust | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ master ] | |
| concurrency: | |
| group: rust-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy,rustfmt | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Build | |
| run: cargo build --features protobuf-src | |
| - name: Clippy (feature set A) | |
| run: cargo clippy --tests --features telemetry,protobuf-src -- -D warnings | |
| - name: Clippy (feature set B) | |
| run: cargo clippy --tests --no-default-features --features compression,tokio-rustls-runtime,async-std-rustls-runtime,auth-oauth2,telemetry,protobuf-src -- -D warnings | |
| - name: Check format | |
| run: cargo fmt --all --check | |
| test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| pulsar-version: [2.10.6, 2.11.4, 3.0.8, 3.2.4, 3.3.3, 4.0.1, 4.1.2] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Start Pulsar Standalone Container | |
| run: | | |
| docker run --name pulsar \ | |
| -p 6650:6650 -p 8080:8080 \ | |
| -d \ | |
| -e GITHUB_ACTIONS=true -e CI=true \ | |
| -e PULSAR_PREFIX_advertisedAddress=127.0.0.1 \ | |
| -e PULSAR_PREFIX_advertisedListeners=pulsar://127.0.0.1:6650 \ | |
| -e PULSAR_PREFIX_brokerServicePort=6650 \ | |
| -e PULSAR_PREFIX_webServicePort=8080 \ | |
| apachepulsar/pulsar:${{ matrix.pulsar-version }} \ | |
| bin/pulsar standalone | |
| - name: Wait for Pulsar readiness | |
| timeout-minutes: 3 | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| echo "Waiting for 6650..." | |
| for i in {1..90}; do | |
| (echo > /dev/tcp/127.0.0.1/6650) >/dev/null 2>&1 && break | |
| sleep 1 | |
| done | |
| (echo > /dev/tcp/127.0.0.1/6650) >/dev/null 2>&1 || { echo "Port 6650 not ready"; exit 1; } | |
| echo "Waiting for HTTP health..." | |
| for i in {1..90}; do | |
| if curl -sf http://127.0.0.1:8080/admin/v2/brokers/health >/dev/null; then | |
| echo "Broker health OK" | |
| exit 0 | |
| fi | |
| sleep 1 | |
| done | |
| echo "Health endpoint didn't respond in time:" | |
| docker logs --tail=200 pulsar || true | |
| exit 1 | |
| - name: Run tests (serial, verbose) | |
| env: | |
| RUST_BACKTRACE: 1 | |
| RUST_LOG: pulsar=debug | |
| RUST_TEST_THREADS: 1 | |
| run: cargo test --features protobuf-src -- --nocapture | |
| - name: Dump Pulsar logs on failure | |
| if: failure() | |
| run: | | |
| echo "==== PULSAR CONTAINER LOGS ====" | |
| docker logs pulsar || true | |
| - name: Stop Pulsar | |
| if: always() | |
| run: docker rm -f pulsar || true | |