Add SharedMergeTree Cloud tests, remove Node 16 from the CI, add Node 21 #777
Workflow file for this run
This file contains 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: 'tests' | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '**/*.md' | |
- 'LICENSE' | |
- 'benchmarks/**' | |
- 'examples/**' | |
pull_request: | |
paths-ignore: | |
- '**/*.md' | |
- 'LICENSE' | |
- 'benchmarks/**' | |
- 'examples/**' | |
schedule: | |
- cron: '0 9 * * *' | |
jobs: | |
node-unit-tests: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
node: [18, 20, 21] | |
steps: | |
- uses: actions/checkout@main | |
- name: Setup NodeJS ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Run linting | |
run: | | |
npm run lint | |
- name: Typecheck | |
run: | | |
npm run typecheck | |
- name: Run unit tests | |
run: | | |
npm run test:node:unit | |
web-all-tests-local-single-node: | |
runs-on: ubuntu-latest | |
needs: node-unit-tests | |
strategy: | |
fail-fast: true | |
matrix: | |
clickhouse: [head, latest] | |
steps: | |
- uses: actions/checkout@main | |
- name: Start ClickHouse (version - ${{ matrix.clickhouse }}) in Docker | |
uses: isbang/[email protected] | |
env: | |
CLICKHOUSE_VERSION: ${{ matrix.clickhouse }} | |
with: | |
compose-file: 'docker-compose.yml' | |
down-flags: '--volumes' | |
- name: Setup NodeJS | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Run all web tests | |
run: | | |
npm run test:web | |
node-integration-tests-local-single-node: | |
needs: node-unit-tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
node: [18, 20, 21] | |
clickhouse: [head, latest] | |
steps: | |
- uses: actions/checkout@main | |
- name: Start ClickHouse (version - ${{ matrix.clickhouse }}) in Docker | |
uses: isbang/[email protected] | |
env: | |
CLICKHOUSE_VERSION: ${{ matrix.clickhouse }} | |
with: | |
compose-file: 'docker-compose.yml' | |
down-flags: '--volumes' | |
- name: Setup NodeJS ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Add ClickHouse TLS instance to /etc/hosts | |
run: | | |
sudo echo "127.0.0.1 server.clickhouseconnect.test" | sudo tee -a /etc/hosts | |
- name: Run integration tests | |
run: | | |
npm run test:node:integration | |
- name: Run TLS tests | |
run: | | |
npm run test:node:tls | |
node-integration-tests-local-cluster: | |
needs: node-unit-tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
node: [18, 20, 21] | |
clickhouse: [head, latest] | |
steps: | |
- uses: actions/checkout@main | |
- name: Start ClickHouse cluster (version - ${{ matrix.clickhouse }}) in Docker | |
uses: isbang/[email protected] | |
env: | |
CLICKHOUSE_VERSION: ${{ matrix.clickhouse }} | |
with: | |
compose-file: 'docker-compose.cluster.yml' | |
down-flags: '--volumes' | |
- name: Setup NodeJS ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Run integration tests | |
run: | | |
npm run test:node:integration:local_cluster | |
web-integration-tests-local-cluster: | |
runs-on: ubuntu-latest | |
needs: node-unit-tests | |
strategy: | |
fail-fast: true | |
matrix: | |
clickhouse: [head, latest] | |
steps: | |
- uses: actions/checkout@main | |
- name: Start ClickHouse cluster (version - ${{ matrix.clickhouse }}) in Docker | |
uses: isbang/[email protected] | |
env: | |
CLICKHOUSE_VERSION: ${{ matrix.clickhouse }} | |
with: | |
compose-file: 'docker-compose.cluster.yml' | |
down-flags: '--volumes' | |
- name: Setup NodeJS | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Run all web tests | |
run: | | |
npm run test:web:integration:local_cluster | |
node-integration-tests-cloud: | |
needs: node-unit-tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
node: [18, 20, 21] | |
steps: | |
- uses: actions/checkout@main | |
- name: Setup NodeJS ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Run integration tests | |
env: | |
CLICKHOUSE_CLOUD_HOST: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_HOST }} | |
CLICKHOUSE_CLOUD_PASSWORD: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_PASSWORD }} | |
run: | | |
npm run test:node:integration:cloud | |
node-integration-tests-cloud-smt: | |
needs: node-unit-tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
node: [18, 20, 21] | |
steps: | |
- uses: actions/checkout@main | |
- name: Setup NodeJS ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Run integration tests | |
env: | |
CLICKHOUSE_CLOUD_HOST: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_HOST_SMT }} | |
CLICKHOUSE_CLOUD_PASSWORD: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_PASSWORD_SMT }} | |
run: | | |
npm run test:node:integration:cloud_smt | |
web-integration-tests-cloud: | |
needs: node-unit-tests | |
runs-on: ubuntu-latest | |
permissions: write-all | |
steps: | |
- uses: actions/checkout@main | |
- name: Setup NodeJS | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Run integration tests | |
env: | |
CLICKHOUSE_CLOUD_HOST: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_HOST }} | |
CLICKHOUSE_CLOUD_PASSWORD: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_PASSWORD }} | |
run: | | |
npm run test:web:integration:cloud | |
web-integration-tests-cloud-smt: | |
needs: node-unit-tests | |
runs-on: ubuntu-latest | |
permissions: write-all | |
steps: | |
- uses: actions/checkout@main | |
- name: Setup NodeJS | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Install dependencies | |
run: | | |
npm install | |
- name: Run integration tests | |
env: | |
CLICKHOUSE_CLOUD_HOST: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_HOST_SMT }} | |
CLICKHOUSE_CLOUD_PASSWORD: ${{ secrets.INTEGRATIONS_TEAM_TESTS_CLOUD_PASSWORD_SMT }} | |
run: | | |
npm run test:web:integration:cloud_smt |