ClickHouse: wrong-result oracle suite (31 oracles), recursive type system, and generator expansion #66
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 | |
| paths: | |
| - 'src/**' | |
| - 'test/**' | |
| - '.github/workflows/*.yml' | |
| - 'pom.xml' | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - 'src/**' | |
| - 'test/**' | |
| - '.github/workflows/*.yml' | |
| - 'pom.xml' | |
| jobs: | |
| misc: | |
| name: General tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 11 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '25' | |
| cache: 'maven' | |
| - name: Verify | |
| run: mvn -B verify -DskipTests=true | |
| - name: Misc Tests | |
| run: mvn -Djacoco.skip=true -B '-Dtest=!sqlancer.dbms.**,!sqlancer.qpg.**' test | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Naming Convention Tests | |
| run: python src/check_names.py | |
| clickhouse: | |
| name: DBMS Tests (ClickHouse) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK 11 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '25' | |
| cache: 'maven' | |
| - name: Build SQLancer | |
| run: mvn -B package -DskipTests=true | |
| - name: Set up ClickHouse | |
| run: | | |
| docker pull clickhouse/clickhouse-server:head | |
| # The :head image's entrypoint disables network access for the `default` user when | |
| # neither CLICKHOUSE_USER nor CLICKHOUSE_PASSWORD is set (tightened sometime between | |
| # 2026-05-16 and 2026-05-18; previously the default-user-no-password path was open). | |
| # Surface symptom: every test fails with "Code: 194 REQUIRED_PASSWORD". Setting | |
| # CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 + CLICKHOUSE_SKIP_USER_SETUP=1 keeps the | |
| # default-user-passwordless path open without baking a credential into the workflow. | |
| docker run --ulimit nofile=262144:262144 --name clickhouse-server -p8123:8123 -d \ | |
| -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 -e CLICKHOUSE_SKIP_USER_SETUP=1 \ | |
| clickhouse/clickhouse-server:head | |
| until curl -sf http://127.0.0.1:8123/ping 2>/dev/null; do sleep 1; done | |
| - name: Run Tests | |
| run: CLICKHOUSE_AVAILABLE=true mvn -Djacoco.skip=true -Dtest=ClickHouseBinaryComparisonOperationTest,TestClickHouse,ClickHouseOperatorsVisitorTest,ClickHouseToStringVisitorTest,ClickHouseTypeTest,ClickHouseTypeParserTest,ClickHouseTypeGenerationTest,ClickHouseCastExtensionTest,ClickHouseCODDTestFilterTest,ClickHouseCERTGeneratorTest,ClickHouseTableGeneratorTest test | |
| - name: Show fatal errors | |
| run: docker exec clickhouse-server grep Fatal /var/log/clickhouse-server/clickhouse-server.log || echo No Fatal Errors found | |
| - name: Teardown ClickHouse server | |
| run: | | |
| docker stop clickhouse-server | |
| docker rm clickhouse-server |