feat(qwp): add a connect timeout and tolerant client startup #17479
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: PGWire - Stable clients | |
| # Testing PGWire with fixed versions of clients | |
| # This is meant to be run on every PR to catch regressions introduced by QuestDB code changes | |
| on: | |
| pull_request: | |
| types: [ synchronize, opened, reopened ] | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} # Only run on non-forked PRs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '25' | |
| cache: 'maven' | |
| - name: Detect local client profile | |
| id: client | |
| uses: ./.github/actions/detect-local-client | |
| - name: Build distribution | |
| run: mvn -B clean install -Dmaven.test.skip=true -Pbuild-binaries -pl '!benchmarks' ${{ steps.client.outputs.client_profile }} | |
| - name: Unpack distribution | |
| run: tar -xzf core/target/questdb-*-no-jre-bin.tar.gz | |
| - name: Start QuestDB | |
| run: ./questdb-*bin/questdb.sh start | |
| - name: Setup PHP | |
| run: | | |
| export DEBIAN_FRONTEND=noninteractive | |
| sudo apt update | |
| sudo apt install php php-pdo php-pgsql composer -y | |
| - name: Setup Rust toolchain | |
| # 4d1965c9142484e48d40c19de54b5cba84953a06 is the same as @v1, except it's guaranteed to be immutable | |
| # even if the original tag is moved or deleted | |
| uses: actions-rust-lang/setup-rust-toolchain@4d1965c9142484e48d40c19de54b5cba84953a06 | |
| with: | |
| toolchain: 1.90.0 | |
| cache-workspaces: compat/src/test/rust/scenarios | |
| - name: Setup golang toolchain | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.25' | |
| cache-dependency-path: compat/src/test/golang/go.sum | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: '9.0.x' | |
| - name: Setup Python version | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: 3.8 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: '22' | |
| - name: Run all scenarios | |
| run: | | |
| ./compat/src/test/scenarios_stable.sh | |
| - name: Stop QuestDB | |
| run: ./questdb-*bin/questdb.sh stop | |
| - name: Upload logs | |
| if: failure() # Only upload logs if the job failed | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| path: ~/.questdb/log/* | |
| name: logs | |
| retention-days: 5 |