Skip to content

feat(qwp): add a connect timeout and tolerant client startup #17479

feat(qwp): add a connect timeout and tolerant client startup

feat(qwp): add a connect timeout and tolerant client startup #17479

Workflow file for this run

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