Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Related: https://github.com/ClickHouse/ClickHouse/pull/NNNNN
- [ ] <!---ci_regression_aggregate_functions--> Aggregate Functions (2h)
- [ ] <!---ci_regression_alter--> Alter (1.5h)
- [ ] <!---ci_regression_benchmark--> Benchmark (30m)
- [ ] <!---ci_regression_cas--> CAS (content-addressed storage; Antalya only)
- [ ] <!---ci_regression_clickhouse_keeper--> ClickHouse Keeper (1h)
- [x] <!---ci_regression_iceberg--> Iceberg (2h)
- [ ] <!---ci_regression_ldap--> LDAP (1h)
Expand Down
59 changes: 59 additions & 0 deletions .github/workflows/regression.yml
Original file line number Diff line number Diff line change
Expand Up @@ -532,3 +532,62 @@ jobs:
regression_args: --aws-s3-access-key {{AWS_ACCESS_KEY}} --aws-s3-key-id {{AWS_KEY_ID}} --aws-s3-uri https://s3.{{AWS_REGION}}.amazonaws.com/{{AWS_BUCKET}}/data/ --gcs-key-id {{GCS_KEY_ID}} --gcs-key-secret {{GCS_KEY_SECRET}} --gcs-uri {{GCS_URI}}
extra_args: ${{ matrix.STORAGE != 'local' && format('--with-{0}', matrix.STORAGE) || '' }}
secrets: inherit

# CAS (content-addressed storage) is only available in Antalya builds >= 26.6.
# These jobs run the suites that support the `--cas` flag with a content-addressed
# disk as the default MergeTree storage. Gated on the Antalya version so they are
# never scheduled on upstream release builds where the `cas` metadata type does
# not exist.
CAS:
if: |
contains(fromJson(inputs.workflow_config).workflow_config.custom_data.version.string, 'antalya') &&
(
fromJson(inputs.workflow_config).workflow_config.custom_data.ci_regression_jobs[0] == null ||
contains(fromJson(inputs.workflow_config).workflow_config.custom_data.ci_regression_jobs, 'cas')
)
strategy:
fail-fast: false
matrix:
SUITE: [aggregate_functions, alter, atomic_insert, engines, lightweight_delete, selects]
uses: ./.github/workflows/regression-reusable-suite.yml
with:
ref: ${{ inputs.commit }}
workflow_config: ${{ inputs.workflow_config }}
suite_name: ${{ matrix.SUITE }}
suite_executable: regression.py
output_format: new-fails
flags: --with-analyzer
timeout_minutes: ${{ inputs.timeout_minutes }}
runner_arch: ${{ inputs.arch }}
runner_type: ${{ inputs.runner_type }}
build_sha: ${{ inputs.build_sha }}
set_commit_status: true
job_name: cas_${{ matrix.SUITE }}
regression_args: --cas
secrets: inherit

TieredStorageCAS:
if: |
contains(fromJson(inputs.workflow_config).workflow_config.custom_data.version.string, 'antalya') &&
(
fromJson(inputs.workflow_config).workflow_config.custom_data.ci_regression_jobs[0] == null ||
contains(fromJson(inputs.workflow_config).workflow_config.custom_data.ci_regression_jobs, 'tiered_storage') ||
contains(fromJson(inputs.workflow_config).workflow_config.custom_data.ci_regression_jobs, 'cas')
)
uses: ./.github/workflows/regression-reusable-suite.yml
with:
ref: ${{ inputs.commit }}
workflow_config: ${{ inputs.workflow_config }}
suite_name: tiered_storage
suite_executable: regression.py
output_format: new-fails
flags: --with-analyzer
timeout_minutes: ${{ inputs.timeout_minutes }}
runner_arch: ${{ inputs.arch }}
runner_type: ${{ inputs.runner_type }}
storage_path: /with_cas
build_sha: ${{ inputs.build_sha }}
set_commit_status: true
job_name: tiered_storage_cas
regression_args: --with-cas
secrets: inherit
Loading