diff --git a/.github/workflows/regression-reusable-suite.yml b/.github/workflows/regression-reusable-suite.yml index 37b0486b2d13..f3d71450a09d 100644 --- a/.github/workflows/regression-reusable-suite.yml +++ b/.github/workflows/regression-reusable-suite.yml @@ -93,6 +93,7 @@ jobs: build_sha: ${{ inputs.build_sha }} pr_number: ${{ github.event.number }} artifacts: builds + regression_args: ${{ inputs.regression_args }} # Args args: --test-to-end --no-colors diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 7d0935d60bef..ffcd7283f080 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -126,7 +126,7 @@ jobs: strategy: fail-fast: false matrix: - SUITE: [aes_encryption, atomic_insert, attach, base_58, clickhouse_keeper_failover,data_types, datetime64_extended_range, disk_level_encryption, dns, engines, example, extended_precision_data_types, functions, jwt_authentication, kafka, kerberos, key_value, lightweight_delete, memory, part_moves_between_shards, selects, session_timezone, settings, version, window_functions] + SUITE: [aes_encryption, atomic_insert, attach, base_58, clickhouse_keeper_failover,data_types, datetime64_extended_range, disk_level_encryption, dns, engines, example, extended_precision_data_types, functions, jwt_authentication, kafka, kerberos, key_value, memory, part_moves_between_shards, selects, session_timezone, settings, version, window_functions] uses: ./.github/workflows/regression-reusable-suite.yml with: ref: ${{ inputs.commit }} @@ -143,6 +143,40 @@ jobs: job_name: ${{ matrix.SUITE }} secrets: inherit + LightweightDelete: + if: | + 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, 'common') + strategy: + fail-fast: false + matrix: + include: + - PART: 1 + FILTER: --only "/lightweight delete/disk space/*" + - PART: 2 + FILTER: --only "/lightweight delete/hard restart/*" + - PART: 3 + FILTER: --skip "/lightweight delete/disk space/*" "/lightweight delete/hard restart/*" "/lightweight delete/alter after delete/*" "/lightweight delete/concurrent alter and delete/*" "/lightweight delete/concurrent delete/*" "/lightweight delete/basic checks/*" "/lightweight delete/performance/*" "/lightweight delete/ontime tests/*" + - PART: 4 + FILTER: --only "/lightweight delete/alter after delete/*" "/lightweight delete/concurrent alter and delete/*" "/lightweight delete/concurrent delete/*" "/lightweight delete/basic checks/*" "/lightweight delete/performance/*" "/lightweight delete/ontime tests/*" + uses: ./.github/workflows/regression-reusable-suite.yml + with: + ref: ${{ inputs.commit }} + workflow_config: ${{ inputs.workflow_config }} + suite_name: lightweight_delete + suite_executable: regression.py + output_format: new-fails + flags: --with-analyzer + timeout_minutes: 300 + runner_arch: ${{ inputs.arch }} + runner_type: ${{ inputs.runner_type }} + part: ${{ matrix.PART }} + build_sha: ${{ inputs.build_sha }} + set_commit_status: true + job_name: lightweight_delete + extra_args: ${{ matrix.FILTER }} + secrets: inherit + AggregateFunctions: if: | fromJson(inputs.workflow_config).workflow_config.custom_data.ci_regression_jobs[0] == null || @@ -181,6 +215,8 @@ jobs: PART: 1 - ONLY: attach PART: 2 + - ONLY: attach + PART: 3 uses: ./.github/workflows/regression-reusable-suite.yml with: ref: ${{ inputs.commit }} @@ -189,7 +225,7 @@ jobs: suite_executable: regression.py output_format: new-fails flags: --with-analyzer - timeout_minutes: ${{ inputs.timeout_minutes }} + timeout_minutes: 300 runner_arch: ${{ inputs.arch }} runner_type: ${{ inputs.runner_type }} storage_path: /${{ matrix.ONLY }}_partition @@ -534,10 +570,56 @@ jobs: secrets: inherit # CAS (content-addressed storage) is only available in Antalya builds >= 26.6. - # These jobs run the suites that support the `--cas` or `--cas-s3-cache` 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. + # The dedicated `cas` suite, plus other suites run with `--cas` or `--cas-s3-cache`. + # Gated on the Antalya version so they are never scheduled on upstream release + # builds where the `cas` metadata type does not exist. + CASSuite: + 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') + ) + uses: ./.github/workflows/regression-reusable-suite.yml + with: + ref: ${{ inputs.commit }} + workflow_config: ${{ inputs.workflow_config }} + suite_name: cas + suite_executable: regression.py + output_format: new-fails + flags: --with-analyzer + timeout_minutes: 180 + runner_arch: ${{ inputs.arch }} + runner_type: ${{ inputs.runner_type }} + build_sha: ${{ inputs.build_sha }} + set_commit_status: true + job_name: cas + secrets: inherit + + CASS3CacheSuite: + 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') + ) + uses: ./.github/workflows/regression-reusable-suite.yml + with: + ref: ${{ inputs.commit }} + workflow_config: ${{ inputs.workflow_config }} + suite_name: cas + suite_executable: regression.py + output_format: new-fails + flags: --with-analyzer + timeout_minutes: 180 + runner_arch: ${{ inputs.arch }} + runner_type: ${{ inputs.runner_type }} + build_sha: ${{ inputs.build_sha }} + set_commit_status: true + job_name: cas_s3_cache + regression_args: --cas-s3-cache + secrets: inherit + CAS: if: | contains(fromJson(inputs.workflow_config).workflow_config.custom_data.version.string, 'antalya') && @@ -668,7 +750,11 @@ jobs: - PART: 1 FILTER: --only "/lightweight delete/disk space/*" - PART: 2 - FILTER: --skip "/lightweight delete/disk space/*" + FILTER: --only "/lightweight delete/hard restart/*" + - PART: 3 + FILTER: --skip "/lightweight delete/disk space/*" "/lightweight delete/hard restart/*" "/lightweight delete/alter after delete/*" "/lightweight delete/concurrent alter and delete/*" "/lightweight delete/concurrent delete/*" "/lightweight delete/basic checks/*" "/lightweight delete/performance/*" "/lightweight delete/ontime tests/*" + - PART: 4 + FILTER: --only "/lightweight delete/alter after delete/*" "/lightweight delete/concurrent alter and delete/*" "/lightweight delete/concurrent delete/*" "/lightweight delete/basic checks/*" "/lightweight delete/performance/*" "/lightweight delete/ontime tests/*" uses: ./.github/workflows/regression-reusable-suite.yml with: ref: ${{ inputs.commit }} @@ -702,7 +788,11 @@ jobs: - PART: 1 FILTER: --only "/lightweight delete/disk space/*" - PART: 2 - FILTER: --skip "/lightweight delete/disk space/*" + FILTER: --only "/lightweight delete/hard restart/*" + - PART: 3 + FILTER: --skip "/lightweight delete/disk space/*" "/lightweight delete/hard restart/*" "/lightweight delete/alter after delete/*" "/lightweight delete/concurrent alter and delete/*" "/lightweight delete/concurrent delete/*" "/lightweight delete/basic checks/*" "/lightweight delete/performance/*" "/lightweight delete/ontime tests/*" + - PART: 4 + FILTER: --only "/lightweight delete/alter after delete/*" "/lightweight delete/concurrent alter and delete/*" "/lightweight delete/concurrent delete/*" "/lightweight delete/basic checks/*" "/lightweight delete/performance/*" "/lightweight delete/ontime tests/*" uses: ./.github/workflows/regression-reusable-suite.yml with: ref: ${{ inputs.commit }} @@ -738,6 +828,8 @@ jobs: PART: 1 - ONLY: attach PART: 2 + - ONLY: attach + PART: 3 uses: ./.github/workflows/regression-reusable-suite.yml with: ref: ${{ inputs.commit }} @@ -750,6 +842,7 @@ jobs: runner_arch: ${{ inputs.arch }} runner_type: ${{ inputs.runner_type }} part: ${{ matrix.PART }} + storage_path: /${{ matrix.ONLY }}_partition build_sha: ${{ inputs.build_sha }} set_commit_status: true job_name: cas_alter_${{ matrix.ONLY }} @@ -773,6 +866,8 @@ jobs: PART: 1 - ONLY: attach PART: 2 + - ONLY: attach + PART: 3 uses: ./.github/workflows/regression-reusable-suite.yml with: ref: ${{ inputs.commit }} @@ -785,6 +880,7 @@ jobs: runner_arch: ${{ inputs.arch }} runner_type: ${{ inputs.runner_type }} part: ${{ matrix.PART }} + storage_path: /${{ matrix.ONLY }}_partition build_sha: ${{ inputs.build_sha }} set_commit_status: true job_name: cas_s3_cache_alter_${{ matrix.ONLY }}