From b4fbc99a02d126c839e7b2a77496f42e08c43972 Mon Sep 17 00:00:00 2001 From: MyroTk <44327070+MyroTk@users.noreply.github.com> Date: Wed, 7 Jan 2026 17:28:59 -0500 Subject: [PATCH 1/6] Merge pull request #1261 from Altinity/builds/stable/fixed-version 25.8.13 Stable - Remove version auto-updating --- .github/workflows/master.yml | 1 + ci/praktika/yaml_generator.py | 6 +++++- ci/workflows/master.py | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 6290b2072a51..3c99496ae102 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -12,6 +12,7 @@ on: default: false push: branches: ['antalya', 'releases/*', 'antalya-*', 'stable-*'] + tags: ['*'] env: # Force the stdout and stderr streams to be unbuffered diff --git a/ci/praktika/yaml_generator.py b/ci/praktika/yaml_generator.py index af184588e09d..53680769d8a7 100644 --- a/ci/praktika/yaml_generator.py +++ b/ci/praktika/yaml_generator.py @@ -43,7 +43,7 @@ class Templates: type: boolean default: false {EVENT}: - branches: [{BRANCHES}] + branches: [{BRANCHES}]{TAGS} env: # Force the stdout and stderr streams to be unbuffered @@ -444,6 +444,9 @@ def _all_needs(job_name: str) -> set: Workflow.Event.PUSH, ): base_template = YamlGenerator.Templates.TEMPLATE_PULL_REQUEST_0 + tags_formatted = ", ".join( + [f"'{tag}'" for tag in self.workflow_config.tags] + ) if self.workflow_config.tags else "" format_kwargs = { "BRANCHES": ", ".join( [f"'{branch}'" for branch in self.workflow_config.branches] @@ -454,6 +457,7 @@ def _all_needs(job_name: str) -> set: # if not Settings.USE_CUSTOM_GH_AUTH # else "" ), + "TAGS": f"\n tags: [{tags_formatted}]" if tags_formatted else "", } if self.workflow_config.event in (Workflow.Event.PULL_REQUEST,): ENV_CHECKOUT_REFERENCE = ( diff --git a/ci/workflows/master.py b/ci/workflows/master.py index 0dc79594fdb3..382cd52e99e6 100644 --- a/ci/workflows/master.py +++ b/ci/workflows/master.py @@ -22,6 +22,7 @@ name="MasterCI", event=Workflow.Event.PUSH, branches=[BASE_BRANCH, "releases/*", "antalya-*", "stable-*"], + tags=["*"], jobs=[ # *JobConfigs.tidy_build_arm_jobs, *JobConfigs.build_jobs, From a3f376c91448a591358f0a2df835415018f3edbe Mon Sep 17 00:00:00 2001 From: MyroTk Date: Wed, 17 Jun 2026 21:10:06 -0400 Subject: [PATCH 2/6] maintenance changes --- .github/PULL_REQUEST_TEMPLATE.md | 4 ++-- .github/workflows/master.yml | 1 - .github/workflows/pull_request.yml | 1 - .github/workflows/pull_request_community.yml | 1 - ci/jobs/scripts/clickhouse_version.py | 21 ++++++++++++++++++-- ci/jobs/scripts/workflow_hooks/filter_job.py | 16 ++++++++++++++- ci/praktika/parser.py | 2 +- ci/praktika/yaml_generator.py | 5 ++--- ci/workflows/master.py | 1 - cmake/autogenerated_versions.txt | 4 ++-- 10 files changed, 41 insertions(+), 15 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 5a43fec377e1..cb091ef1dbe7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -25,12 +25,12 @@ - [ ] Stateless tests - [ ] Stateful tests - [ ] Performance tests -- [ ] All with ASAN +- [x] Aarch64 tests +- [x] All with ASAN - [x] All with TSAN - [x] All with MSAN - [x] All with UBSAN - [x] All with Coverage -- [ ] All with Aarch64 - [ ] All Regression - [ ] Disable CI Cache diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 3c99496ae102..a6978d63749f 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -11,7 +11,6 @@ on: type: boolean default: false push: - branches: ['antalya', 'releases/*', 'antalya-*', 'stable-*'] tags: ['*'] env: diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 2e67e701a4d8..8ca584065e4e 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -11,7 +11,6 @@ on: type: boolean default: false pull_request: - branches: ['antalya', 'releases/*', 'antalya-*', 'stable-*'] env: # Force the stdout and stderr streams to be unbuffered diff --git a/.github/workflows/pull_request_community.yml b/.github/workflows/pull_request_community.yml index ea174bbe6f03..c3014dc73794 100644 --- a/.github/workflows/pull_request_community.yml +++ b/.github/workflows/pull_request_community.yml @@ -11,7 +11,6 @@ on: type: boolean default: false pull_request: - branches: ['antalya', 'releases/*', 'antalya-*', 'stable-*'] env: # Force the stdout and stderr streams to be unbuffered diff --git a/ci/jobs/scripts/clickhouse_version.py b/ci/jobs/scripts/clickhouse_version.py index 1e65113f75af..961544fa4c37 100644 --- a/ci/jobs/scripts/clickhouse_version.py +++ b/ci/jobs/scripts/clickhouse_version.py @@ -11,6 +11,7 @@ # allow to import other packages that are located in `tests/ci` directory, like `git_helper` import tests.ci sys.path.append(os.path.abspath(tests.ci.__path__._path[0])) +from tests.ci.version_helper import get_version_from_tag class CHVersion: FILE_WITH_VERSION_PATH = "./cmake/autogenerated_versions.txt" @@ -59,10 +60,26 @@ def get_release_version_as_dict(cls): @classmethod def get_current_version_as_dict(cls): - version = cls.get_release_version_as_dict() + version_from_file = cls.get_release_version_as_dict() + + ref_type = os.getenv("GITHUB_REF_TYPE", "") + ref_name = os.getenv("GITHUB_REF_NAME", "") + if ref_type == "tag" and ref_name.startswith("v"): + print(f"Tag push detected: {ref_name}, extracting version from tag") + version = get_version_from_tag(ref_name) + # Get revision from cmake file since it's not in the tag + version._revision = version_from_file.get("revision", version._revision) + + # relying on ClickHouseVersion to generate proper `description` and `string` with updated `tweak`` value. + version = version.with_description(version.flavour) + version_dict = version.as_dict() + + # preserve githash, not sure if that is going to be usefull, but mimics original implementation + version_dict["githash"] = version["githash"] + return version_dict # NOTE (strtgbb): Just return, no need for the below logic - return version + return version_from_file info = Info() try: diff --git a/ci/jobs/scripts/workflow_hooks/filter_job.py b/ci/jobs/scripts/workflow_hooks/filter_job.py index 964245dba366..f04cc8468b7e 100644 --- a/ci/jobs/scripts/workflow_hooks/filter_job.py +++ b/ci/jobs/scripts/workflow_hooks/filter_job.py @@ -8,6 +8,7 @@ ) from ci.jobs.scripts.workflow_hooks.pr_labels_and_category import Labels from ci.praktika.info import Info +from ci.praktika.settings import Settings def only_docs(changed_files): @@ -58,6 +59,19 @@ def only_docs(changed_files): "Stateless tests (amd_binary, flaky check)", ] +DOCKER_REQUIRED_ARM_JOBS = { + "Build (arm_release)", + Settings.DOCKER_BUILD_ARM_LINUX_JOB_NAME, + Settings.DOCKER_BUILD_MANIFEST_JOB_NAME, +} + + +def is_ci_excluded_by_tag(job_name, tag): + if tag in ("aarch64", "arm") and job_name in DOCKER_REQUIRED_ARM_JOBS: + return False + + return tag in job_name.lower() + _info_cache = None @@ -225,7 +239,7 @@ def should_skip_job(job_name): ci_exclude_tags = _info_cache.get_kv_data("ci_exclude_tags") or [] for tag in ci_exclude_tags: - if tag in job_name.lower(): + if is_ci_excluded_by_tag(job_name, tag): return True, f"Skipped, job name includes excluded tag '{tag}'" # NOTE (strtgbb): disabled this feature for now diff --git a/ci/praktika/parser.py b/ci/praktika/parser.py index 081a996b108d..2b872545bc25 100644 --- a/ci/praktika/parser.py +++ b/ci/praktika/parser.py @@ -95,7 +95,7 @@ def parse(self): # populate WorkflowYaml.branches if self.config.event in (Workflow.Event.PUSH,): assert ( - self.config.branches + self.config.branches or self.config.tags ), f'Workflow.Config.branches (e.g. ["main"]) must be set for workflow with event [{self.config.event}], workflow [{self.workflow_name}]' assert ( not self.config.base_branches diff --git a/ci/praktika/yaml_generator.py b/ci/praktika/yaml_generator.py index 53680769d8a7..00aa80084070 100644 --- a/ci/praktika/yaml_generator.py +++ b/ci/praktika/yaml_generator.py @@ -42,8 +42,7 @@ class Templates: required: false type: boolean default: false - {EVENT}: - branches: [{BRANCHES}]{TAGS} + {EVENT}:{TAGS} env: # Force the stdout and stderr streams to be unbuffered @@ -344,7 +343,7 @@ def _all_needs(job_name: str) -> set: # NOTE (strtgbb): We still want the cache logic, we use it for skipping based on PR config if ( # self.workflow_config.config.enable_cache - # and + # and job_name_normalized != config_job_name_normalized ): if_expression = YamlGenerator.Templates.TEMPLATE_IF_EXPRESSION.format( diff --git a/ci/workflows/master.py b/ci/workflows/master.py index 382cd52e99e6..5767b16c7b7a 100644 --- a/ci/workflows/master.py +++ b/ci/workflows/master.py @@ -21,7 +21,6 @@ workflow = Workflow.Config( name="MasterCI", event=Workflow.Event.PUSH, - branches=[BASE_BRANCH, "releases/*", "antalya-*", "stable-*"], tags=["*"], jobs=[ # *JobConfigs.tidy_build_arm_jobs, diff --git a/cmake/autogenerated_versions.txt b/cmake/autogenerated_versions.txt index 52e5bb41e757..9462b6d940a6 100644 --- a/cmake/autogenerated_versions.txt +++ b/cmake/autogenerated_versions.txt @@ -11,6 +11,6 @@ SET(VERSION_DESCRIBE v26.3.13.10001.altinitytest) SET(VERSION_STRING 26.3.13.10001.altinitytest) # end of autochange -SET(VERSION_TWEAK 20001) -SET(VERSION_FLAVOUR altinityantalya) +SET(VERSION_TWEAK 10001) +SET(VERSION_FLAVOUR altinitytest) From fcd3b4392d6cde043833a5f6b30b4e2f7eb89d06 Mon Sep 17 00:00:00 2001 From: MyroTk Date: Wed, 17 Jun 2026 21:18:01 -0400 Subject: [PATCH 3/6] formatting --- .github/workflows/pull_request.yml | 1 + .github/workflows/pull_request_community.yml | 1 + ci/praktika/yaml_generator.py | 9 +++++---- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 8ca584065e4e..2e67e701a4d8 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -11,6 +11,7 @@ on: type: boolean default: false pull_request: + branches: ['antalya', 'releases/*', 'antalya-*', 'stable-*'] env: # Force the stdout and stderr streams to be unbuffered diff --git a/.github/workflows/pull_request_community.yml b/.github/workflows/pull_request_community.yml index c3014dc73794..ea174bbe6f03 100644 --- a/.github/workflows/pull_request_community.yml +++ b/.github/workflows/pull_request_community.yml @@ -11,6 +11,7 @@ on: type: boolean default: false pull_request: + branches: ['antalya', 'releases/*', 'antalya-*', 'stable-*'] env: # Force the stdout and stderr streams to be unbuffered diff --git a/ci/praktika/yaml_generator.py b/ci/praktika/yaml_generator.py index 00aa80084070..c4841eca7da7 100644 --- a/ci/praktika/yaml_generator.py +++ b/ci/praktika/yaml_generator.py @@ -42,7 +42,7 @@ class Templates: required: false type: boolean default: false - {EVENT}:{TAGS} + {EVENT}:{BRANCHES}{TAGS} env: # Force the stdout and stderr streams to be unbuffered @@ -443,13 +443,14 @@ def _all_needs(job_name: str) -> set: Workflow.Event.PUSH, ): base_template = YamlGenerator.Templates.TEMPLATE_PULL_REQUEST_0 + branches_formatted = ", ".join( + [f"'{branch}'" for branch in self.workflow_config.branches] + ) if self.workflow_config.branches else "" tags_formatted = ", ".join( [f"'{tag}'" for tag in self.workflow_config.tags] ) if self.workflow_config.tags else "" format_kwargs = { - "BRANCHES": ", ".join( - [f"'{branch}'" for branch in self.workflow_config.branches] - ), + "BRANCHES": f"\n branches: [{branches_formatted}]" if branches_formatted else "", "EVENT": self.workflow_config.event, "GH_TOKEN_PERMISSIONS": ( YamlGenerator.Templates.TEMPLATE_GH_TOKEN_PERMISSIONS From 6de9f09919644da8d76b7a3f3da3577f5a48f4e3 Mon Sep 17 00:00:00 2001 From: MyroTk Date: Wed, 17 Jun 2026 21:27:01 -0400 Subject: [PATCH 4/6] use gh artifacts --- .github/workflows/master.yml | 362 +++++++++++++++++ .github/workflows/pull_request.yml | 395 +++++++++++++++++++ .github/workflows/pull_request_community.yml | 198 +++++----- .github/workflows/release_builds.yml | 110 ++++++ ci/defs/defs.py | 26 ++ ci/defs/job_configs.py | 70 ++-- ci/praktika/runner.py | 93 ++++- ci/praktika/validator.py | 4 +- ci/praktika/yaml_generator.py | 41 +- ci/workflows/master.py | 1 + ci/workflows/pull_request.py | 1 + ci/workflows/pull_request_community.py | 16 + ci/workflows/release_branches.py | 1 + ci/workflows/release_builds.py | 1 + 14 files changed, 1181 insertions(+), 138 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index a6978d63749f..c3ea686a2251 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -274,6 +274,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_DEBUG_GH + id: upload_CH_AMD_DEBUG_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_DEBUG_GH + if: steps.upload_CH_AMD_DEBUG_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_DEBUG_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_asan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -319,6 +331,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_ASAN_GH + id: upload_CH_AMD_ASAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_ASAN_GH + if: steps.upload_CH_AMD_ASAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_ASAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_tsan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -364,6 +388,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_TSAN_GH + id: upload_CH_AMD_TSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_TSAN_GH + if: steps.upload_CH_AMD_TSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_TSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_msan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -409,6 +445,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_MSAN_GH + id: upload_CH_AMD_MSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_MSAN_GH + if: steps.upload_CH_AMD_MSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_MSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_ubsan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -454,6 +502,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_UBSAN_GH + id: upload_CH_AMD_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_UBSAN_GH + if: steps.upload_CH_AMD_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_UBSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_binary: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -499,6 +559,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_BINARY_GH + id: upload_CH_AMD_BINARY_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_BINARY_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_BINARY_GH + if: steps.upload_CH_AMD_BINARY_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_BINARY_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_asan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -544,6 +616,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_ARM_ASAN_GH + id: upload_CH_ARM_ASAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_ASAN_GH + if: steps.upload_CH_ARM_ASAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_ASAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_binary: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -589,6 +673,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_ARM_BIN_GH + id: upload_CH_ARM_BIN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_BIN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_BIN_GH + if: steps.upload_CH_ARM_BIN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_BIN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_coverage: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -1210,6 +1306,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1255,6 +1358,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1300,6 +1410,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1345,6 +1462,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1390,6 +1514,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1435,6 +1566,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1480,6 +1618,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1525,6 +1670,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1570,6 +1722,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1615,6 +1774,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1660,6 +1826,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1705,6 +1878,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1750,6 +1930,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1795,6 +1982,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1840,6 +2034,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1885,6 +2086,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1930,6 +2138,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1975,6 +2190,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2020,6 +2242,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2065,6 +2294,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2110,6 +2346,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2155,6 +2398,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2200,6 +2450,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2245,6 +2502,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2290,6 +2554,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2335,6 +2606,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_BIN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_BIN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2380,6 +2658,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_BIN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_BIN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2425,6 +2710,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2470,6 +2762,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2515,6 +2814,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2560,6 +2866,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2605,6 +2918,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2650,6 +2970,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4540,6 +4867,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4585,6 +4919,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4630,6 +4971,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4675,6 +5023,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4720,6 +5075,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 2e67e701a4d8..c9c97b4a26ea 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -322,6 +322,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_DEBUG_GH + id: upload_CH_AMD_DEBUG_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_DEBUG_GH + if: steps.upload_CH_AMD_DEBUG_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_DEBUG_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_asan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -367,6 +379,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_ASAN_GH + id: upload_CH_AMD_ASAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_ASAN_GH + if: steps.upload_CH_AMD_ASAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_ASAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_tsan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -412,6 +436,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_TSAN_GH + id: upload_CH_AMD_TSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_TSAN_GH + if: steps.upload_CH_AMD_TSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_TSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_msan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -457,6 +493,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_MSAN_GH + id: upload_CH_AMD_MSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_MSAN_GH + if: steps.upload_CH_AMD_MSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_MSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_ubsan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -502,6 +550,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_UBSAN_GH + id: upload_CH_AMD_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_UBSAN_GH + if: steps.upload_CH_AMD_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_UBSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_binary: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -547,6 +607,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_BINARY_GH + id: upload_CH_AMD_BINARY_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_BINARY_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_BINARY_GH + if: steps.upload_CH_AMD_BINARY_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_BINARY_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_asan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -592,6 +664,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_ARM_ASAN_GH + id: upload_CH_ARM_ASAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_ASAN_GH + if: steps.upload_CH_ARM_ASAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_ASAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_binary: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -637,6 +721,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_ARM_BIN_GH + id: upload_CH_ARM_BIN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_BIN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_BIN_GH + if: steps.upload_CH_ARM_BIN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_BIN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_tsan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -682,6 +778,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_ARM_TSAN_GH + id: upload_CH_ARM_TSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_TSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_TSAN_GH + if: steps.upload_CH_ARM_TSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_TSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_release: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -808,6 +916,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -943,6 +1058,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -988,6 +1110,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1033,6 +1162,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1078,6 +1214,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1123,6 +1266,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1168,6 +1318,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1213,6 +1370,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1258,6 +1422,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1303,6 +1474,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1348,6 +1526,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1393,6 +1578,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1438,6 +1630,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1483,6 +1682,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1528,6 +1734,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1573,6 +1786,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1618,6 +1838,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1663,6 +1890,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1708,6 +1942,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1753,6 +1994,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1798,6 +2046,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1843,6 +2098,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1888,6 +2150,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1933,6 +2202,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1978,6 +2254,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2023,6 +2306,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2068,6 +2358,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2113,6 +2410,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2158,6 +2462,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_BIN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_BIN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2203,6 +2514,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_BIN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_BIN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2248,6 +2566,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2293,6 +2618,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2338,6 +2670,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2383,6 +2722,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2428,6 +2774,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2473,6 +2826,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4723,6 +5083,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_DEBUG_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4768,6 +5135,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4813,6 +5187,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_TSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4858,6 +5239,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_MSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4903,6 +5291,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | diff --git a/.github/workflows/pull_request_community.yml b/.github/workflows/pull_request_community.yml index ea174bbe6f03..42c23c1bb7dc 100644 --- a/.github/workflows/pull_request_community.yml +++ b/.github/workflows/pull_request_community.yml @@ -175,14 +175,14 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_AMD_DEBUG - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_AMD_DEBUG path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_AMD_DEBUG - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_AMD_DEBUG path: ci/tmp/*.deb @@ -233,21 +233,21 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact UNITTEST_AMD_ASAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: UNITTEST_AMD_ASAN path: ci/tmp/build/src/unit_tests_dbms - name: Upload artifact CH_AMD_ASAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_AMD_ASAN path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_AMD_ASAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_AMD_ASAN path: ci/tmp/*.deb @@ -298,21 +298,21 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact UNITTEST_AMD_TSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: UNITTEST_AMD_TSAN path: ci/tmp/build/src/unit_tests_dbms - name: Upload artifact CH_AMD_TSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_AMD_TSAN path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_AMD_TSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_AMD_TSAN path: ci/tmp/*.deb @@ -363,21 +363,21 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact UNITTEST_AMD_MSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: UNITTEST_AMD_MSAN path: ci/tmp/build/src/unit_tests_dbms - name: Upload artifact CH_AMD_MSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_AMD_MSAN path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_AMD_MSAM - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_AMD_MSAM path: ci/tmp/*.deb @@ -428,21 +428,21 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact UNITTEST_AMD_UBSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: UNITTEST_AMD_UBSAN path: ci/tmp/build/src/unit_tests_dbms - name: Upload artifact CH_AMD_UBSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_AMD_UBSAN path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_AMD_UBSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_AMD_UBSAN path: ci/tmp/*.deb @@ -493,7 +493,7 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_AMD_BINARY - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_AMD_BINARY path: ci/tmp/build/programs/self-extracting/clickhouse @@ -544,14 +544,14 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_ARM_ASAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_ARM_ASAN path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_ARM_ASAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_ARM_ASAN path: ci/tmp/*.deb @@ -602,14 +602,14 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_ARM_BIN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_ARM_BIN path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact PARSER_MEMORY_PROFILER - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: PARSER_MEMORY_PROFILER path: ci/tmp/build/src/Parsers/examples/parser_memory_profiler @@ -660,7 +660,7 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_ARM_TSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_ARM_TSAN path: ci/tmp/build/programs/self-extracting/clickhouse @@ -711,35 +711,35 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_AMD_RELEASE - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_AMD_RELEASE path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact CH_AMD_RELEASE_STRIPPED - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_AMD_RELEASE_STRIPPED path: ci/tmp/build/programs/self-extracting/clickhouse-stripped - name: Upload artifact DEB_AMD_RELEASE - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_AMD_RELEASE path: ci/tmp/*.deb - name: Upload artifact RPM_AMD_RELEASE - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: RPM_AMD_RELEASE path: ci/tmp/*.rpm - name: Upload artifact TGZ_AMD_RELEASE - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: TGZ_AMD_RELEASE path: ci/tmp/*64.tgz* @@ -790,35 +790,35 @@ jobs: for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_ARM_RELEASE - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_ARM_RELEASE path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact CH_ARM_RELEASE_STRIPPED - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_ARM_RELEASE_STRIPPED path: ci/tmp/build/programs/self-extracting/clickhouse-stripped - name: Upload artifact DEB_ARM_RELEASE - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_ARM_RELEASE path: ci/tmp/*.deb - name: Upload artifact RPM_ARM_RELEASE - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: RPM_ARM_RELEASE path: ci/tmp/*.rpm - name: Upload artifact TGZ_ARM_RELEASE - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: TGZ_ARM_RELEASE path: ci/tmp/*64.tgz* @@ -860,7 +860,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_DEBUG - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_DEBUG path: ./ci/tmp @@ -911,7 +911,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -962,7 +962,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -1013,7 +1013,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -1064,7 +1064,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -1115,7 +1115,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -1166,7 +1166,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_DEBUG - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_DEBUG path: ./ci/tmp @@ -1217,7 +1217,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_DEBUG - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_DEBUG path: ./ci/tmp @@ -1268,7 +1268,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -1319,7 +1319,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -1370,7 +1370,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -1421,7 +1421,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -1472,7 +1472,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -1523,7 +1523,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -1574,7 +1574,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -1625,7 +1625,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -1676,7 +1676,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -1727,7 +1727,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -1778,7 +1778,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_UBSAN path: ./ci/tmp @@ -1829,7 +1829,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_UBSAN path: ./ci/tmp @@ -1880,7 +1880,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_DEBUG - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_DEBUG path: ./ci/tmp @@ -1931,7 +1931,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_DEBUG - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_DEBUG path: ./ci/tmp @@ -1982,7 +1982,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -2033,7 +2033,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -2084,7 +2084,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -2135,7 +2135,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -2186,7 +2186,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_ARM_BIN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_ARM_BIN path: ./ci/tmp @@ -2237,7 +2237,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_ARM_BIN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_ARM_BIN path: ./ci/tmp @@ -2288,7 +2288,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -2339,7 +2339,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -2390,7 +2390,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -2441,7 +2441,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -2492,7 +2492,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -2543,7 +2543,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN path: ./ci/tmp @@ -2594,7 +2594,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_BINARY - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_BINARY path: ./ci/tmp @@ -2645,7 +2645,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_BINARY - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_BINARY path: ./ci/tmp @@ -2696,7 +2696,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_BINARY - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_BINARY path: ./ci/tmp @@ -2747,7 +2747,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_BINARY - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_BINARY path: ./ci/tmp @@ -2798,7 +2798,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_BINARY - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_BINARY path: ./ci/tmp @@ -2849,7 +2849,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_ARM_BIN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_ARM_BIN path: ./ci/tmp @@ -2900,7 +2900,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_ARM_BIN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_ARM_BIN path: ./ci/tmp @@ -2951,7 +2951,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_ARM_BIN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_ARM_BIN path: ./ci/tmp @@ -3002,7 +3002,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_ARM_BIN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_ARM_BIN path: ./ci/tmp @@ -3053,7 +3053,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -3104,7 +3104,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -3155,7 +3155,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -3206,7 +3206,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -3257,7 +3257,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -3308,7 +3308,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_TSAN path: ./ci/tmp @@ -3359,7 +3359,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -3410,7 +3410,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -3461,7 +3461,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -3512,7 +3512,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -3563,7 +3563,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -3614,7 +3614,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_MSAN path: ./ci/tmp @@ -3665,7 +3665,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact UNITTEST_AMD_ASAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: UNITTEST_AMD_ASAN path: ./ci/tmp @@ -3716,7 +3716,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact UNITTEST_AMD_TSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: UNITTEST_AMD_TSAN path: ./ci/tmp @@ -3767,7 +3767,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact UNITTEST_AMD_MSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: UNITTEST_AMD_MSAN path: ./ci/tmp @@ -3818,7 +3818,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact UNITTEST_AMD_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: UNITTEST_AMD_UBSAN path: ./ci/tmp @@ -3869,28 +3869,28 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_RELEASE - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_RELEASE path: ./ci/tmp - name: Download artifact DEB_AMD_RELEASE - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: DEB_AMD_RELEASE path: ./ci/tmp - name: Download artifact RPM_AMD_RELEASE - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: RPM_AMD_RELEASE path: ./ci/tmp - name: Download artifact TGZ_AMD_RELEASE - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: TGZ_AMD_RELEASE path: ./ci/tmp @@ -3941,28 +3941,28 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_ARM_RELEASE - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_ARM_RELEASE path: ./ci/tmp - name: Download artifact DEB_ARM_RELEASE - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: DEB_ARM_RELEASE path: ./ci/tmp - name: Download artifact RPM_ARM_RELEASE - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: RPM_ARM_RELEASE path: ./ci/tmp - name: Download artifact TGZ_ARM_RELEASE - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: TGZ_ARM_RELEASE path: ./ci/tmp @@ -4013,7 +4013,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact DEB_AMD_RELEASE - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: DEB_AMD_RELEASE path: ./ci/tmp @@ -4064,7 +4064,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact DEB_ARM_RELEASE - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: DEB_ARM_RELEASE path: ./ci/tmp diff --git a/.github/workflows/release_builds.yml b/.github/workflows/release_builds.yml index 41d2874cbc3f..0e928f09f83f 100644 --- a/.github/workflows/release_builds.yml +++ b/.github/workflows/release_builds.yml @@ -275,6 +275,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_DEBUG_GH + id: upload_CH_AMD_DEBUG_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_DEBUG_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_DEBUG_GH + if: steps.upload_CH_AMD_DEBUG_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_DEBUG_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_asan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [build_amd_binary, build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -322,6 +334,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_ASAN_GH + id: upload_CH_AMD_ASAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_ASAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_ASAN_GH + if: steps.upload_CH_AMD_ASAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_ASAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_tsan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [build_amd_binary, build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -369,6 +393,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_TSAN_GH + id: upload_CH_AMD_TSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_TSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_TSAN_GH + if: steps.upload_CH_AMD_TSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_TSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_msan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [build_amd_binary, build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -416,6 +452,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_MSAN_GH + id: upload_CH_AMD_MSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_MSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_MSAN_GH + if: steps.upload_CH_AMD_MSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_MSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_ubsan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [build_amd_binary, build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -463,6 +511,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_UBSAN_GH + id: upload_CH_AMD_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_UBSAN_GH + if: steps.upload_CH_AMD_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_UBSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_binary: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -510,6 +570,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_AMD_BINARY_GH + id: upload_CH_AMD_BINARY_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_BINARY_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_BINARY_GH + if: steps.upload_CH_AMD_BINARY_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_BINARY_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_asan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [build_amd_binary, build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -557,6 +629,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_ARM_ASAN_GH + id: upload_CH_ARM_ASAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_ASAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_ASAN_GH + if: steps.upload_CH_ARM_ASAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_ASAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_binary: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -604,6 +688,18 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + - name: Upload artifact CH_ARM_BIN_GH + id: upload_CH_ARM_BIN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_BIN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_BIN_GH + if: steps.upload_CH_ARM_BIN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_BIN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_release: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -924,6 +1020,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_BIN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_BIN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -971,6 +1074,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_BIN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_BIN_GH + path: ./ci/tmp + - name: Run id: run run: | diff --git a/ci/defs/defs.py b/ci/defs/defs.py index d4fcec09ffe5..ef80b6bc990d 100644 --- a/ci/defs/defs.py +++ b/ci/defs/defs.py @@ -426,6 +426,15 @@ class ArtifactNames: CH_RISCV64 = "CH_RISCV64_BIN" CH_S390X = "CH_S390X_BIN" CH_LOONGARCH64 = "CH_LOONGARCH64_BIN" + CH_AMD_DEBUG_GH = "CH_AMD_DEBUG_GH" + CH_AMD_BINARY_GH = "CH_AMD_BINARY_GH" + CH_ARM_BINARY_GH = "CH_ARM_BIN_GH" + CH_AMD_ASAN_GH = "CH_AMD_ASAN_GH" + CH_AMD_TSAN_GH = "CH_AMD_TSAN_GH" + CH_AMD_MSAN_GH = "CH_AMD_MSAN_GH" + CH_AMD_UBSAN_GH = "CH_AMD_UBSAN_GH" + CH_ARM_ASAN_GH = "CH_ARM_ASAN_GH" + CH_ARM_TSAN_GH = "CH_ARM_TSAN_GH" FAST_TEST = "FAST_TEST" UNITTEST_AMD_ASAN = "UNITTEST_AMD_ASAN" @@ -536,6 +545,23 @@ class ArtifactConfigs: ArtifactNames.CH_LOONGARCH64, ] ) + clickhouse_binaries_gh = Artifact.Config( + name="...", + type=Artifact.Type.GH, + path=f"{TEMP_DIR}/build/programs/self-extracting/clickhouse", + ).parametrize( + names=[ + ArtifactNames.CH_AMD_DEBUG_GH, + ArtifactNames.CH_AMD_BINARY_GH, + ArtifactNames.CH_ARM_BINARY_GH, + ArtifactNames.CH_AMD_ASAN_GH, + ArtifactNames.CH_AMD_TSAN_GH, + ArtifactNames.CH_AMD_MSAN_GH, + ArtifactNames.CH_AMD_UBSAN_GH, + ArtifactNames.CH_ARM_ASAN_GH, + ArtifactNames.CH_ARM_TSAN_GH, + ] + ) clickhouse_stripped_binaries = Artifact.Config( name="...", type=Artifact.Type.S3, diff --git a/ci/defs/job_configs.py b/ci/defs/job_configs.py index dc0b47aa4d81..c82f929857e7 100644 --- a/ci/defs/job_configs.py +++ b/ci/defs/job_configs.py @@ -238,13 +238,18 @@ class JobConfigs: ).parametrize( Job.ParamSet( parameter=BuildTypes.AMD_DEBUG, - provides=[ArtifactNames.CH_AMD_DEBUG, ArtifactNames.DEB_AMD_DEBUG], + provides=[ + ArtifactNames.CH_AMD_DEBUG, + ArtifactNames.CH_AMD_DEBUG_GH, + ArtifactNames.DEB_AMD_DEBUG, + ], runs_on=RunnerLabels.BUILDER_AMD, ), Job.ParamSet( parameter=BuildTypes.AMD_ASAN, provides=[ ArtifactNames.CH_AMD_ASAN, + ArtifactNames.CH_AMD_ASAN_GH, ArtifactNames.DEB_AMD_ASAN, ArtifactNames.UNITTEST_AMD_ASAN, ], @@ -254,6 +259,7 @@ class JobConfigs: parameter=BuildTypes.AMD_TSAN, provides=[ ArtifactNames.CH_AMD_TSAN, + ArtifactNames.CH_AMD_TSAN_GH, ArtifactNames.DEB_AMD_TSAN, ArtifactNames.UNITTEST_AMD_TSAN, ], @@ -263,6 +269,7 @@ class JobConfigs: parameter=BuildTypes.AMD_MSAN, provides=[ ArtifactNames.CH_AMD_MSAN, + ArtifactNames.CH_AMD_MSAN_GH, ArtifactNames.DEB_AMD_MSAN, ArtifactNames.UNITTEST_AMD_MSAN, ], @@ -272,6 +279,7 @@ class JobConfigs: parameter=BuildTypes.AMD_UBSAN, provides=[ ArtifactNames.CH_AMD_UBSAN, + ArtifactNames.CH_AMD_UBSAN_GH, ArtifactNames.DEB_AMD_UBSAN, ArtifactNames.UNITTEST_AMD_UBSAN, ], @@ -279,13 +287,17 @@ class JobConfigs: ), Job.ParamSet( parameter=BuildTypes.AMD_BINARY, - provides=[ArtifactNames.CH_AMD_BINARY], + provides=[ + ArtifactNames.CH_AMD_BINARY, + ArtifactNames.CH_AMD_BINARY_GH, + ], runs_on=RunnerLabels.BUILDER_AMD, ), Job.ParamSet( parameter=BuildTypes.ARM_ASAN, provides=[ ArtifactNames.CH_ARM_ASAN, + ArtifactNames.CH_ARM_ASAN_GH, ArtifactNames.DEB_ARM_ASAN, ], runs_on=RunnerLabels.ARM_LARGE, @@ -294,6 +306,7 @@ class JobConfigs: parameter=BuildTypes.ARM_BINARY, provides=[ ArtifactNames.CH_ARM_BINARY, + ArtifactNames.CH_ARM_BINARY_GH, ArtifactNames.PARSER_MEMORY_PROFILER, ], runs_on=RunnerLabels.BUILDER_AMD, @@ -348,6 +361,7 @@ class JobConfigs: parameter=BuildTypes.ARM_TSAN, provides=[ ArtifactNames.CH_ARM_TSAN, + ArtifactNames.CH_ARM_TSAN_GH, ], runs_on=RunnerLabels.ARM_LARGE, ), @@ -547,7 +561,7 @@ class JobConfigs: "./ci/jobs/queries", ], ), - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], runs_on=RunnerLabels.AMD_SMALL, ) functional_tests_jobs = common_ft_job_config.parametrize( @@ -555,7 +569,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_asan, distributed plan, parallel, {batch}/{total_batches}", runs_on=RunnerLabels.AMD_MEDIUM_CPU, - requires=[ArtifactNames.CH_AMD_ASAN], + requires=[ArtifactNames.CH_AMD_ASAN_GH], ) for total_batches in (4,) for batch in range(1, total_batches + 1) @@ -563,7 +577,7 @@ class JobConfigs: Job.ParamSet( parameter="amd_asan, db disk, distributed plan, sequential", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_ASAN], + requires=[ArtifactNames.CH_AMD_ASAN_GH], ), # Job.ParamSet( # NOTE (strtgbb): llvm cov jobs not configured yet. Determine if useful first. # parameter="amd_llvm_coverage, old analyzer, s3 storage, DatabaseReplicated, WasmEdge, parallel", @@ -604,18 +618,18 @@ class JobConfigs: Job.ParamSet( parameter="amd_debug, parallel", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), Job.ParamSet( parameter="amd_debug, sequential", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), *[ Job.ParamSet( parameter=f"amd_tsan, parallel, {batch}/{total_batches}", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_TSAN], + requires=[ArtifactNames.CH_AMD_TSAN_GH], ) for total_batches in (2,) for batch in range(1, total_batches + 1) @@ -624,7 +638,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_tsan, sequential, {batch}/{total_batches}", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_TSAN], + requires=[ArtifactNames.CH_AMD_TSAN_GH], ) for total_batches in (2,) for batch in range(1, total_batches + 1) @@ -633,7 +647,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_msan, WasmEdge, parallel, {batch}/{total_batches}", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_MSAN], + requires=[ArtifactNames.CH_AMD_MSAN_GH], ) for total_batches in (4,) for batch in range(1, total_batches + 1) @@ -642,7 +656,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_msan, WasmEdge, sequential, {batch}/{total_batches}", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_MSAN], + requires=[ArtifactNames.CH_AMD_MSAN_GH], ) for total_batches in (2,) for batch in range(1, total_batches + 1) @@ -650,28 +664,28 @@ class JobConfigs: Job.ParamSet( parameter="amd_ubsan, parallel", runs_on=RunnerLabels.FUNC_TESTER_AMD, # it runs much faster than many job, no need larger machine - requires=[ArtifactNames.CH_AMD_UBSAN], + requires=[ArtifactNames.CH_AMD_UBSAN_GH], ), Job.ParamSet( parameter="amd_ubsan, sequential", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_UBSAN], + requires=[ArtifactNames.CH_AMD_UBSAN_GH], ), Job.ParamSet( parameter="amd_debug, distributed plan, s3 storage, parallel", runs_on=RunnerLabels.FUNC_TESTER_AMD, # large machine - no boost, why? - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), Job.ParamSet( parameter="amd_debug, distributed plan, s3 storage, sequential", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), *[ Job.ParamSet( parameter=f"amd_tsan, s3 storage, parallel, {batch}/{total_batches}", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_TSAN], + requires=[ArtifactNames.CH_AMD_TSAN_GH], ) for total_batches in (2,) for batch in range(1, total_batches + 1) @@ -680,7 +694,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_tsan, s3 storage, sequential, {batch}/{total_batches}", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_TSAN], + requires=[ArtifactNames.CH_AMD_TSAN_GH], ) for total_batches in (2,) for batch in range(1, total_batches + 1) @@ -688,12 +702,12 @@ class JobConfigs: Job.ParamSet( parameter="arm_binary, parallel", runs_on=RunnerLabels.FUNC_TESTER_ARM, - requires=[ArtifactNames.CH_ARM_BINARY], + requires=[ArtifactNames.CH_ARM_BINARY_GH], ), Job.ParamSet( parameter="arm_binary, sequential", runs_on=RunnerLabels.FUNC_TESTER_ARM, - requires=[ArtifactNames.CH_ARM_BINARY], + requires=[ArtifactNames.CH_ARM_BINARY_GH], ), ) functional_tests_jobs_coverage = common_ft_job_config.parametrize( @@ -714,7 +728,7 @@ class JobConfigs: Job.ParamSet( parameter=f"arm_asan, azure, parallel, {batch}/{total_batches}", runs_on=RunnerLabels.FUNC_TESTER_ARM, - requires=[ArtifactNames.CH_ARM_ASAN], + requires=[ArtifactNames.CH_ARM_ASAN_GH], ) for total_batches in (4,) for batch in range(1, total_batches + 1) @@ -723,7 +737,7 @@ class JobConfigs: Job.ParamSet( parameter=f"arm_asan, azure, sequential, {batch}/{total_batches}", runs_on=RunnerLabels.FUNC_TESTER_ARM, - requires=[ArtifactNames.CH_ARM_ASAN], + requires=[ArtifactNames.CH_ARM_ASAN_GH], timeout=3600 * 4, ) for total_batches in (2,) @@ -1044,12 +1058,12 @@ class JobConfigs: Job.ParamSet( parameter="amd_debug, targeted", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), Job.ParamSet( parameter="amd_debug, targeted, old_compatibility", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), ) @@ -1072,27 +1086,27 @@ class JobConfigs: Job.ParamSet( parameter="amd_debug", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), Job.ParamSet( parameter="arm_asan", runs_on=RunnerLabels.ARM_MEDIUM, - requires=[ArtifactNames.CH_ARM_ASAN], + requires=[ArtifactNames.CH_ARM_ASAN_GH], ), Job.ParamSet( parameter="amd_tsan", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_TSAN], + requires=[ArtifactNames.CH_AMD_TSAN_GH], ), Job.ParamSet( parameter="amd_msan", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_MSAN], + requires=[ArtifactNames.CH_AMD_MSAN_GH], ), Job.ParamSet( parameter="amd_ubsan", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_UBSAN], + requires=[ArtifactNames.CH_AMD_UBSAN_GH], ), ) performance_comparison_with_master_head_jobs = Job.Config( diff --git a/ci/praktika/runner.py b/ci/praktika/runner.py index 193c57c5a56d..91f74511a8ad 100644 --- a/ci/praktika/runner.py +++ b/ci/praktika/runner.py @@ -181,16 +181,17 @@ def _pre_run(self, workflow, job, local_run=False): if job.requires and not _is_praktika_job(job.name): print("Download required artifacts") required_artifacts = [] + required_gh_artifacts = [] # praktika service jobs do not require any of artifacts and excluded in if to not upload "hacky" artifact report. # this artifact is created to replace legacy build_report and maintain seamless transition to praktika # once there is no need for this "hacky" artifact report - second condition in "if" can be removed for requires_artifact_name in job.requires: for artifact in workflow.artifacts: - if ( - artifact.name == requires_artifact_name - and artifact.type == Artifact.Type.S3 - ): - required_artifacts.append(artifact) + if artifact.name == requires_artifact_name: + if artifact.type == Artifact.Type.S3: + required_artifacts.append(artifact) + elif artifact.type == Artifact.Type.GH: + required_gh_artifacts.append(artifact) else: if ( requires_artifact_name @@ -252,6 +253,88 @@ def _pre_run(self, workflow, job, local_run=False): if artifact.compress_zst: Utils.decompress_file(Path(Settings.INPUT_DIR) / artifact_path) + # GH artifacts are downloaded by workflow YAML steps. If they are missing (e.g. rerun after + # short GH retention expiry), attempt fallback to matching S3 artifact by name. + for gh_artifact in required_gh_artifacts: + if isinstance(gh_artifact.path, (tuple, list)): + gh_paths = gh_artifact.path + else: + gh_paths = [gh_artifact.path] + + expected_local_paths = [] + unresolved_pattern = False + for gh_path in gh_paths: + if "*" in gh_path: + unresolved_pattern = True + continue + expected_local_paths.append(Path(Settings.INPUT_DIR) / Path(gh_path).name) + + if expected_local_paths and all(p.exists() for p in expected_local_paths): + continue + + if unresolved_pattern and not expected_local_paths: + print( + f"WARNING: Cannot resolve expected local path for GH artifact [{gh_artifact.name}] with wildcard path [{gh_artifact.path}] - skip S3 fallback" + ) + continue + + s3_fallback_name = ( + gh_artifact.name[:-3] + if gh_artifact.name.endswith("_GH") + else gh_artifact.name + ) + s3_fallback_artifact = None + for artifact in workflow.artifacts: + if ( + artifact.name == s3_fallback_name + and artifact.type == Artifact.Type.S3 + ): + s3_fallback_artifact = artifact + break + + if not s3_fallback_artifact: + print( + f"WARNING: GH artifact [{gh_artifact.name}] is missing and no S3 fallback artifact [{s3_fallback_name}] is configured" + ) + continue + + print( + f"GH artifact [{gh_artifact.name}] is missing; fallback to S3 artifact [{s3_fallback_artifact.name}]" + ) + fallback_prefix = env.get_s3_prefix() + + fallback_artifact = dataclasses.replace(s3_fallback_artifact) + if fallback_artifact.compress_zst: + assert not isinstance( + fallback_artifact.path, (tuple, list) + ), "Not yes supported for compressed artifacts" + fallback_artifact.path = f"{Path(fallback_artifact.path).name}.zst" + + if isinstance(fallback_artifact.path, (tuple, list)): + fallback_paths = fallback_artifact.path + else: + fallback_paths = [fallback_artifact.path] + + for fallback_path in fallback_paths: + recursive = False + include_pattern = "" + if "*" in fallback_path: + s3_path = f"{Settings.S3_ARTIFACT_PATH}/{fallback_prefix}/{Utils.normalize_string(fallback_artifact._provided_by)}/" + recursive = True + include_pattern = Path(fallback_path).name + assert "*" in include_pattern + else: + s3_path = f"{Settings.S3_ARTIFACT_PATH}/{fallback_prefix}/{Utils.normalize_string(fallback_artifact._provided_by)}/{Path(fallback_path).name}" + S3.copy_file_from_s3( + s3_path=s3_path, + local_path=Settings.INPUT_DIR, + recursive=recursive, + include_pattern=include_pattern, + ) + + if fallback_artifact.compress_zst: + Utils.decompress_file(Path(Settings.INPUT_DIR) / fallback_path) + return 0 def _run( diff --git a/ci/praktika/validator.py b/ci/praktika/validator.py index ae114b877e8d..718e44334dbe 100644 --- a/ci/praktika/validator.py +++ b/ci/praktika/validator.py @@ -206,8 +206,8 @@ def is_valid_cron_field(field: str) -> bool: if workflow.enable_cache: for artifact in workflow.artifacts or []: assert ( - artifact.is_s3_artifact() - ), f"All artifacts must be of S3 type if enable_cache|enable_html=True, artifact [{artifact.name}], type [{artifact.type}], workflow [{workflow.name}]" + artifact.is_s3_artifact() or artifact.type == Artifact.Type.GH + ), f"Artifacts must be S3 or GH type if enable_cache|enable_html=True, artifact [{artifact.name}], type [{artifact.type}], workflow [{workflow.name}]" if workflow.dockers and not workflow.disable_dockers_build: assert ( diff --git a/ci/praktika/yaml_generator.py b/ci/praktika/yaml_generator.py index c4841eca7da7..a654f5fed54d 100644 --- a/ci/praktika/yaml_generator.py +++ b/ci/praktika/yaml_generator.py @@ -219,7 +219,21 @@ class Templates: TEMPLATE_GH_UPLOAD = """ - name: Upload artifact {NAME} - uses: actions/upload-artifact@v4 + id: upload_{NAME} + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: {NAME} + path: {PATH} + retention-days: 1 + - name: Warn on failed upload of {NAME} + if: steps.upload_{NAME}.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [{NAME}] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." +""" + + TEMPLATE_GH_UPLOAD_NO_RETENTION = """ + - name: Upload artifact {NAME} + uses: actions/upload-artifact@v7 with: name: {NAME} path: {PATH} @@ -227,7 +241,16 @@ class Templates: TEMPLATE_GH_DOWNLOAD = """ - name: Download artifact {NAME} - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: {NAME} + path: {PATH} +""" + + TEMPLATE_GH_DOWNLOAD_STRICT = """ + - name: Download artifact {NAME} + uses: actions/download-artifact@v8 with: name: {NAME} path: {PATH} @@ -321,16 +344,26 @@ def _all_needs(job_name: str) -> set: ) uploads_github = [] for artifact in job.artifacts_gh_provides: + upload_template = YamlGenerator.Templates.TEMPLATE_GH_UPLOAD + if self.workflow_config.name == "Community PR": + upload_template = ( + YamlGenerator.Templates.TEMPLATE_GH_UPLOAD_NO_RETENTION + ) uploads_github.append( - YamlGenerator.Templates.TEMPLATE_GH_UPLOAD.format( + upload_template.format( NAME=artifact.name, PATH=os.path.relpath(artifact.path, os.getcwd()), ) ) downloads_github = [] for artifact in job.artifacts_gh_requires: + download_template = YamlGenerator.Templates.TEMPLATE_GH_DOWNLOAD + if self.workflow_config.name == "Community PR": + download_template = ( + YamlGenerator.Templates.TEMPLATE_GH_DOWNLOAD_STRICT + ) downloads_github.append( - YamlGenerator.Templates.TEMPLATE_GH_DOWNLOAD.format( + download_template.format( NAME=artifact.name, PATH=Settings.INPUT_DIR ) ) diff --git a/ci/workflows/master.py b/ci/workflows/master.py index 5767b16c7b7a..7ee1b43e46f1 100644 --- a/ci/workflows/master.py +++ b/ci/workflows/master.py @@ -72,6 +72,7 @@ artifacts=[ *ArtifactConfigs.unittests_binaries, *clickhouse_binaries_with_tags, + *ArtifactConfigs.clickhouse_binaries_gh, *ArtifactConfigs.clickhouse_debians, *ArtifactConfigs.clickhouse_rpms, *ArtifactConfigs.clickhouse_tgzs, diff --git a/ci/workflows/pull_request.py b/ci/workflows/pull_request.py index 7675190f1dfa..c43547f2ee65 100644 --- a/ci/workflows/pull_request.py +++ b/ci/workflows/pull_request.py @@ -143,6 +143,7 @@ artifacts=[ *ArtifactConfigs.unittests_binaries, *ArtifactConfigs.clickhouse_binaries, + *ArtifactConfigs.clickhouse_binaries_gh, *ArtifactConfigs.clickhouse_stripped_binaries, *ArtifactConfigs.clickhouse_debians, *ArtifactConfigs.clickhouse_rpms, diff --git a/ci/workflows/pull_request_community.py b/ci/workflows/pull_request_community.py index ad7957887a20..48abd1f70045 100644 --- a/ci/workflows/pull_request_community.py +++ b/ci/workflows/pull_request_community.py @@ -27,6 +27,20 @@ j for j in JobConfigs.functional_tests_jobs if "amd_debug, parallel" in j.name ][0] + +def _normalize_gh_aliases(items): + if not items: + return items + normalized = [] + seen = set() + for item in items: + base = item[:-3] if item.endswith("_GH") else item + if base not in seen: + normalized.append(base) + seen.add(base) + return normalized + + workflow = Workflow.Config( name="Community PR", event=Workflow.Event.PULL_REQUEST, @@ -135,6 +149,8 @@ for i, job in enumerate(workflow.jobs): workflow.jobs[i] = copy.deepcopy(job) workflow.jobs[i].enable_commit_status = False + workflow.jobs[i].provides = _normalize_gh_aliases(workflow.jobs[i].provides) + workflow.jobs[i].requires = _normalize_gh_aliases(workflow.jobs[i].requires) for i, artifact in enumerate(workflow.artifacts): workflow.artifacts[i] = copy.deepcopy(artifact) diff --git a/ci/workflows/release_branches.py b/ci/workflows/release_branches.py index 74fb01145fd3..6a1d3e0904a2 100644 --- a/ci/workflows/release_branches.py +++ b/ci/workflows/release_branches.py @@ -51,6 +51,7 @@ ], artifacts=[ *clickhouse_binaries_with_tags, + *ArtifactConfigs.clickhouse_binaries_gh, *ArtifactConfigs.clickhouse_debians, *ArtifactConfigs.clickhouse_rpms, *ArtifactConfigs.clickhouse_tgzs, diff --git a/ci/workflows/release_builds.py b/ci/workflows/release_builds.py index 8f43804f9166..be6299dfa223 100644 --- a/ci/workflows/release_builds.py +++ b/ci/workflows/release_builds.py @@ -49,6 +49,7 @@ additional_jobs=["GrypeScan", "SignRelease", "CIReport", "SourceUpload"], artifacts=[ *clickhouse_binaries_with_tags, + *ArtifactConfigs.clickhouse_binaries_gh, *ArtifactConfigs.clickhouse_debians, *ArtifactConfigs.clickhouse_rpms, *ArtifactConfigs.clickhouse_tgzs, From bab44e033119c4c74534ae0319eaf64f8a759ad6 Mon Sep 17 00:00:00 2001 From: MyroTk Date: Thu, 18 Jun 2026 13:52:41 -0400 Subject: [PATCH 5/6] fix regression arm tests running --- .github/workflows/master.yml | 2 +- .github/workflows/pull_request.yml | 2 +- ci/praktika/yaml_additional_templates.py | 2 +- tests/ci/git_helper.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index c3ea686a2251..b9a1657d6609 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -5716,7 +5716,7 @@ jobs: workflow_config: ${{ needs.config_workflow.outputs.data }} RegressionTestsAarch64: needs: [config_workflow, build_arm_binary, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(fromJson(needs.config_workflow.outputs.data).JOB_KV_DATA.ci_exclude_tags, 'regression') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.custom_data.ci_exclude_tags, 'aarch64')}} + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(fromJson(needs.config_workflow.outputs.data).JOB_KV_DATA.ci_exclude_tags, 'regression') && !contains(fromJson(needs.config_workflow.outputs.data).JOB_KV_DATA.ci_exclude_tags, 'aarch64')}} uses: ./.github/workflows/regression.yml secrets: inherit with: diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index c9c97b4a26ea..74f6074c49d1 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -5527,7 +5527,7 @@ jobs: workflow_config: ${{ needs.config_workflow.outputs.data }} RegressionTestsAarch64: needs: [config_workflow, build_arm_binary, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(fromJson(needs.config_workflow.outputs.data).JOB_KV_DATA.ci_exclude_tags, 'regression') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.custom_data.ci_exclude_tags, 'aarch64')}} + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(fromJson(needs.config_workflow.outputs.data).JOB_KV_DATA.ci_exclude_tags, 'regression') && !contains(fromJson(needs.config_workflow.outputs.data).JOB_KV_DATA.ci_exclude_tags, 'aarch64')}} uses: ./.github/workflows/regression.yml secrets: inherit with: diff --git a/ci/praktika/yaml_additional_templates.py b/ci/praktika/yaml_additional_templates.py index b4f414eee704..67e35a36c3fa 100644 --- a/ci/praktika/yaml_additional_templates.py +++ b/ci/praktika/yaml_additional_templates.py @@ -75,7 +75,7 @@ class AltinityWorkflowTemplates: workflow_config: ${{ needs.config_workflow.outputs.data }} RegressionTestsAarch64: needs: [config_workflow, build_arm_binary, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(fromJson(needs.config_workflow.outputs.data).JOB_KV_DATA.ci_exclude_tags, 'regression') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.custom_data.ci_exclude_tags, 'aarch64')}} + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(fromJson(needs.config_workflow.outputs.data).JOB_KV_DATA.ci_exclude_tags, 'regression') && !contains(fromJson(needs.config_workflow.outputs.data).JOB_KV_DATA.ci_exclude_tags, 'aarch64')}} uses: ./.github/workflows/regression.yml secrets: inherit with: diff --git a/tests/ci/git_helper.py b/tests/ci/git_helper.py index e24f83de3eda..d1ad6e2f8644 100644 --- a/tests/ci/git_helper.py +++ b/tests/ci/git_helper.py @@ -14,7 +14,7 @@ import __main__ -from ci_utils import Shell +from tests.ci.ci_utils import Shell logger = logging.getLogger(__name__) From 0b64ff06ca569a8361ef36176e4e52c3d1beee28 Mon Sep 17 00:00:00 2001 From: MyroTk Date: Thu, 18 Jun 2026 17:29:40 -0400 Subject: [PATCH 6/6] fallback for module import --- tests/ci/git_helper.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/ci/git_helper.py b/tests/ci/git_helper.py index d1ad6e2f8644..b2cf203e3bc6 100644 --- a/tests/ci/git_helper.py +++ b/tests/ci/git_helper.py @@ -14,7 +14,11 @@ import __main__ -from tests.ci.ci_utils import Shell +try: + from tests.ci.ci_utils import Shell +except ModuleNotFoundError: + # Support direct script execution, e.g. `python3 ./tests/ci/version_helper.py` for grype scan. + from ci_utils import Shell logger = logging.getLogger(__name__)