diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e791c22d100f..3bd01aba7db5 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 321a7ec62507..7ae6a35bc96b 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -10,8 +10,6 @@ on: required: false type: boolean default: false - push: - branches: ['antalya', 'releases/*', 'antalya-*', 'stable-*'] env: # Force the stdout and stderr streams to be unbuffered @@ -76,7 +74,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -118,7 +118,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -160,7 +162,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -202,7 +206,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -244,7 +250,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -259,6 +267,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_debug)' --workflow "MasterCI" --ci --timestamp + - 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_ubsan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -286,7 +306,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -301,6 +323,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_asan_ubsan)' --workflow "MasterCI" --ci --timestamp + - name: Upload artifact CH_AMD_ASAN_UBSAN_GH + id: upload_CH_AMD_ASAN_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_ASAN_UBSAN_GH + if: steps.upload_CH_AMD_ASAN_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_ASAN_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] @@ -328,7 +362,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -343,6 +379,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_binary)' --workflow "MasterCI" --ci --timestamp + - 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_debug: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -370,7 +418,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -385,6 +435,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_debug)' --workflow "MasterCI" --ci --timestamp + - name: Upload artifact CH_ARM_DEBUG_GH + id: upload_CH_ARM_DEBUG_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_DEBUG_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_DEBUG_GH + if: steps.upload_CH_ARM_DEBUG_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_DEBUG_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_asan_ubsan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -412,7 +474,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -427,6 +491,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_asan_ubsan)' --workflow "MasterCI" --ci --timestamp + - name: Upload artifact CH_ARM_ASAN_UBSAN_GH + id: upload_CH_ARM_ASAN_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_ASAN_UBSAN_GH + if: steps.upload_CH_ARM_ASAN_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_ASAN_UBSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_ubsan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -454,7 +530,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -469,6 +547,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_ubsan)' --workflow "MasterCI" --ci --timestamp + - name: Upload artifact CH_ARM_UBSAN_GH + id: upload_CH_ARM_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_UBSAN_GH + if: steps.upload_CH_ARM_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_UBSAN_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] @@ -496,7 +586,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -511,6 +603,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_binary)' --workflow "MasterCI" --ci --timestamp + - 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_tsan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -538,7 +642,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -553,6 +659,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_tsan)' --workflow "MasterCI" --ci --timestamp + - 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] @@ -580,7 +698,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -595,6 +715,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_msan)' --workflow "MasterCI" --ci --timestamp + - 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_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] @@ -622,7 +754,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -637,6 +771,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_tsan)' --workflow "MasterCI" --ci --timestamp + - 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_arm_msan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -664,7 +810,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -679,6 +827,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_msan)' --workflow "MasterCI" --ci --timestamp + - name: Upload artifact CH_ARM_MSAN_GH + id: upload_CH_ARM_MSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_MSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_MSAN_GH + if: steps.upload_CH_ARM_MSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_MSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_amd_llvm_coverage_per_test: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] @@ -706,7 +866,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -748,7 +910,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -790,7 +954,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -832,7 +998,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -874,7 +1042,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -916,7 +1086,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -958,7 +1130,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1000,7 +1174,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1042,7 +1218,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1084,7 +1262,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1126,7 +1306,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1168,7 +1350,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1210,7 +1394,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1252,7 +1438,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1294,7 +1482,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1336,7 +1526,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1345,6 +1537,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1378,7 +1577,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1387,6 +1588,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1420,7 +1628,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1429,6 +1639,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1462,7 +1679,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1471,6 +1690,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: | @@ -1504,7 +1730,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1513,6 +1741,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: | @@ -1546,7 +1781,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1555,6 +1792,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: | @@ -1588,7 +1832,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1597,6 +1843,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: | @@ -1630,7 +1883,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1639,6 +1894,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: | @@ -1672,7 +1934,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1681,6 +1945,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: | @@ -1714,7 +1985,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1723,6 +1996,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: | @@ -1756,7 +2036,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1765,6 +2047,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,7 +2087,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1807,6 +2098,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,7 +2138,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1849,6 +2149,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: | @@ -1882,7 +2189,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1891,6 +2200,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: | @@ -1924,7 +2240,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1933,6 +2251,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: | @@ -1966,7 +2291,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -1975,6 +2302,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: | @@ -2008,7 +2342,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2017,6 +2353,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: | @@ -2050,7 +2393,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2059,6 +2404,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: | @@ -2092,7 +2444,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2101,6 +2455,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: | @@ -2134,7 +2495,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2143,6 +2506,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: | @@ -2176,7 +2546,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2185,6 +2557,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: | @@ -2218,7 +2597,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2227,6 +2608,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: | @@ -2260,7 +2648,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2269,6 +2659,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: | @@ -2302,7 +2699,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2344,7 +2743,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2386,7 +2787,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2428,7 +2831,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2470,7 +2875,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2512,7 +2919,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2554,7 +2963,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2596,7 +3007,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2638,7 +3051,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2647,6 +3062,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2680,7 +3102,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2689,6 +3113,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2722,7 +3153,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2731,6 +3164,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2764,7 +3204,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2773,6 +3215,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2806,7 +3255,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2815,6 +3266,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2848,7 +3306,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2857,6 +3317,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2890,7 +3357,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2899,6 +3368,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2932,7 +3408,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2941,6 +3419,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2974,7 +3459,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -2983,6 +3470,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: | @@ -3016,7 +3510,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3025,6 +3521,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: | @@ -3058,7 +3561,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3067,6 +3572,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: | @@ -3100,7 +3612,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3109,6 +3623,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: | @@ -3142,7 +3663,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3151,6 +3674,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: | @@ -3184,7 +3714,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3193,6 +3725,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: | @@ -3226,7 +3765,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3235,6 +3776,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: | @@ -3268,7 +3816,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3277,6 +3827,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: | @@ -3310,7 +3867,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3319,6 +3878,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: | @@ -3352,7 +3918,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3361,6 +3929,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: | @@ -3394,7 +3969,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3403,6 +3980,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: | @@ -3436,7 +4020,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3445,6 +4031,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: | @@ -3478,7 +4071,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3487,6 +4082,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: | @@ -3520,7 +4122,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3529,6 +4133,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: | @@ -3562,7 +4173,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3571,6 +4184,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: | @@ -3604,7 +4224,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3613,6 +4235,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: | @@ -3646,7 +4275,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3688,7 +4319,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3730,7 +4363,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3772,7 +4407,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3814,7 +4451,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3856,7 +4495,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3898,7 +4539,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3940,7 +4583,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -3982,7 +4627,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4024,7 +4671,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4066,7 +4715,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4108,7 +4759,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4150,7 +4803,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4192,7 +4847,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4234,7 +4891,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4276,7 +4935,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4318,7 +4979,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4360,7 +5023,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4402,7 +5067,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4444,7 +5111,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4486,7 +5155,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4528,7 +5199,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4570,7 +5243,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4612,7 +5287,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4654,7 +5331,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4696,7 +5375,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4738,7 +5419,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4747,6 +5430,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: | @@ -4780,7 +5470,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4789,6 +5481,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4822,7 +5521,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4831,6 +5532,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: | @@ -4864,7 +5572,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4873,6 +5583,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: | @@ -4906,7 +5623,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4915,6 +5634,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: | @@ -4948,7 +5674,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4957,6 +5685,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4990,7 +5725,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -4999,6 +5736,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: | @@ -5032,7 +5776,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -5041,6 +5787,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: | @@ -5074,7 +5827,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -5083,6 +5838,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: | @@ -5116,7 +5878,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -5125,6 +5889,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -5158,7 +5929,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -5167,6 +5940,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: | @@ -5200,7 +5980,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -5209,6 +5991,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: | @@ -5242,7 +6031,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -5284,7 +6075,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -5326,7 +6119,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -5368,7 +6163,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -5410,7 +6207,9 @@ jobs: mkdir -p ./ci/tmp cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' export PYTHONPATH=./ci:.: - + cat > ./ci/tmp/workflow_inputs.json << 'EOF' + ${{ toJson(github.event.inputs) }} + EOF cat > ./ci/tmp/workflow_job.json << 'EOF' ${{ toJson(job) }} EOF @@ -5465,7 +6264,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/nightly_keeper.yml b/.github/workflows/nightly_keeper.yml index b27cf3d09bc6..595864a56c5b 100644 --- a/.github/workflows/nightly_keeper.yml +++ b/.github/workflows/nightly_keeper.yml @@ -211,6 +211,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_binary)' --workflow "NightlyKeeperNoFaults" --ci --timestamp + - 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." + keeper_stress_no_faults: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm] @@ -248,6 +260,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/.github/workflows/nightly_keeper_faults.yml b/.github/workflows/nightly_keeper_faults.yml index 9afc720829dc..5b981aa21e3e 100644 --- a/.github/workflows/nightly_keeper_faults.yml +++ b/.github/workflows/nightly_keeper_faults.yml @@ -211,6 +211,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_binary)' --workflow "NightlyKeeperFaults" --ci --timestamp + - 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." + keeper_stress_faults: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm] @@ -248,6 +260,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/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 492fa61bdd36..20aaeaebffe3 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -388,6 +388,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_debug)' --workflow "PR" --ci --timestamp + - 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_ubsan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -430,6 +442,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_asan_ubsan)' --workflow "PR" --ci --timestamp + - name: Upload artifact CH_AMD_ASAN_UBSAN_GH + id: upload_CH_AMD_ASAN_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_ASAN_UBSAN_GH + if: steps.upload_CH_AMD_ASAN_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_ASAN_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: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -472,6 +496,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_binary)' --workflow "PR" --ci --timestamp + - 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_debug: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -514,6 +550,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_debug)' --workflow "PR" --ci --timestamp + - name: Upload artifact CH_ARM_DEBUG_GH + id: upload_CH_ARM_DEBUG_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_DEBUG_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_DEBUG_GH + if: steps.upload_CH_ARM_DEBUG_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_DEBUG_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_asan_ubsan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -556,6 +604,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_asan_ubsan)' --workflow "PR" --ci --timestamp + - name: Upload artifact CH_ARM_ASAN_UBSAN_GH + id: upload_CH_ARM_ASAN_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_ASAN_UBSAN_GH + if: steps.upload_CH_ARM_ASAN_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_ASAN_UBSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_ubsan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -598,6 +658,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_ubsan)' --workflow "PR" --ci --timestamp + - name: Upload artifact CH_ARM_UBSAN_GH + id: upload_CH_ARM_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_UBSAN_GH + if: steps.upload_CH_ARM_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_UBSAN_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: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -640,6 +712,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_binary)' --workflow "PR" --ci --timestamp + - 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_tsan: runs-on: [self-hosted, altinity-on-demand, altinity-builder] needs: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -682,6 +766,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_tsan)' --workflow "PR" --ci --timestamp + - 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: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -724,6 +820,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_msan)' --workflow "PR" --ci --timestamp + - 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_arm_tsan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -766,6 +874,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_tsan)' --workflow "PR" --ci --timestamp + - 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_arm_msan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -808,6 +928,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_msan)' --workflow "PR" --ci --timestamp + - name: Upload artifact CH_ARM_MSAN_GH + id: upload_CH_ARM_MSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_MSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_MSAN_GH + if: steps.upload_CH_ARM_MSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_MSAN_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: [ci_tests, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test] @@ -928,6 +1060,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: | @@ -970,6 +1109,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1012,6 +1158,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1054,6 +1207,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: | @@ -1096,6 +1256,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: | @@ -1138,6 +1305,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1180,6 +1354,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1222,6 +1403,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -1264,6 +1452,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: | @@ -1306,6 +1501,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 +1550,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: | @@ -1390,6 +1599,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: | @@ -1432,6 +1648,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: | @@ -1474,6 +1697,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: | @@ -1516,6 +1746,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: | @@ -1558,6 +1795,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: | @@ -1600,6 +1844,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: | @@ -1642,6 +1893,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: | @@ -1684,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: | @@ -1726,6 +1991,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: | @@ -1768,6 +2040,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: | @@ -1810,6 +2089,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: | @@ -1852,6 +2138,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: | @@ -1894,6 +2187,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: | @@ -1936,6 +2236,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: | @@ -1978,6 +2285,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: | @@ -2020,6 +2334,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: | @@ -2062,6 +2383,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: | @@ -2104,6 +2432,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2146,6 +2481,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2188,6 +2530,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2230,6 +2579,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2272,6 +2628,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2314,6 +2677,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2356,6 +2726,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2398,6 +2775,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_AMD_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -2440,6 +2824,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: | @@ -2482,6 +2873,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: | @@ -2524,6 +2922,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: | @@ -2566,6 +2971,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: | @@ -2608,6 +3020,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: | @@ -2650,6 +3069,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: | @@ -2692,6 +3118,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: | @@ -2734,6 +3167,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: | @@ -2776,6 +3216,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: | @@ -2818,6 +3265,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: | @@ -2860,6 +3314,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: | @@ -2902,6 +3363,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: | @@ -2944,6 +3412,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: | @@ -2986,6 +3461,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: | @@ -3028,6 +3510,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: | @@ -3070,6 +3559,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: | @@ -4078,6 +4574,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: | @@ -4120,6 +4623,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4162,6 +4672,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: | @@ -4204,6 +4721,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: | @@ -4246,6 +4770,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: | @@ -4288,6 +4819,13 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF + - name: Download artifact CH_ARM_ASAN_UBSAN_GH + uses: actions/download-artifact@v8 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ./ci/tmp + - name: Run id: run run: | @@ -4330,6 +4868,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: | @@ -4372,6 +4917,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: | @@ -4456,6 +5008,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: | @@ -4630,7 +5189,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_community.yml b/.github/workflows/pull_request_community.yml index fdb410c89a2c..d006947e09ed 100644 --- a/.github/workflows/pull_request_community.yml +++ b/.github/workflows/pull_request_community.yml @@ -166,14 +166,14 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_debug)' --workflow "Community PR" --ci --timestamp - 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 @@ -221,21 +221,21 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_asan_ubsan)' --workflow "Community PR" --ci --timestamp - name: Upload artifact UNITTEST_AMD_ASAN_UBSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: UNITTEST_AMD_ASAN_UBSAN path: ci/tmp/build/src/unit_tests_dbms - name: Upload artifact CH_AMD_ASAN_UBSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_AMD_ASAN_UBSAN path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_AMD_ASAN_UBSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_AMD_ASAN_UBSAN path: ci/tmp/*.deb @@ -283,7 +283,7 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_binary)' --workflow "Community PR" --ci --timestamp - 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 @@ -331,14 +331,14 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_debug)' --workflow "Community PR" --ci --timestamp - name: Upload artifact CH_ARM_DEBUG - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_ARM_DEBUG path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_ARM_DEBUG - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_ARM_DEBUG path: ci/tmp/*.deb @@ -386,14 +386,14 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_asan_ubsan)' --workflow "Community PR" --ci --timestamp - name: Upload artifact CH_ARM_ASAN_UBSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_ARM_ASAN_UBSAN path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_ARM_ASAN_UBSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_ARM_ASAN_UBSAN path: ci/tmp/*.deb @@ -441,14 +441,14 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_ubsan)' --workflow "Community PR" --ci --timestamp - name: Upload artifact CH_ARM_UBSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_ARM_UBSAN path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_ARM_UBSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_ARM_UBSAN path: ci/tmp/*.deb @@ -496,7 +496,7 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_binary)' --workflow "Community PR" --ci --timestamp - 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 @@ -544,21 +544,21 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_tsan)' --workflow "Community PR" --ci --timestamp - 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 @@ -606,21 +606,21 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_msan)' --workflow "Community PR" --ci --timestamp - 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_MSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_AMD_MSAN path: ci/tmp/*.deb @@ -668,14 +668,14 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_tsan)' --workflow "Community PR" --ci --timestamp - 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 - name: Upload artifact DEB_ARM_TSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_ARM_TSAN path: ci/tmp/*.deb @@ -723,14 +723,14 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_msan)' --workflow "Community PR" --ci --timestamp - name: Upload artifact CH_ARM_MSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: CH_ARM_MSAN path: ci/tmp/build/programs/self-extracting/clickhouse - name: Upload artifact DEB_ARM_MSAN - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: DEB_ARM_MSAN path: ci/tmp/*.deb @@ -778,28 +778,28 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_release)' --workflow "Community PR" --ci --timestamp - 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 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* @@ -847,28 +847,28 @@ jobs: PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_release)' --workflow "Community PR" --ci --timestamp - 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 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* @@ -910,7 +910,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 @@ -958,7 +958,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN_UBSAN path: ./ci/tmp @@ -1006,7 +1006,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN_UBSAN path: ./ci/tmp @@ -1054,7 +1054,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN_UBSAN path: ./ci/tmp @@ -1102,7 +1102,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 @@ -1150,7 +1150,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 @@ -1198,7 +1198,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 @@ -1246,7 +1246,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 @@ -1294,7 +1294,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 @@ -1342,7 +1342,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 @@ -1390,7 +1390,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 @@ -1438,7 +1438,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 @@ -1486,7 +1486,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 @@ -1534,7 +1534,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 @@ -1582,7 +1582,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 @@ -1630,7 +1630,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 @@ -1678,7 +1678,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 @@ -1726,7 +1726,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 @@ -1774,7 +1774,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 @@ -1822,7 +1822,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 @@ -1870,7 +1870,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 @@ -1918,7 +1918,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 @@ -1966,7 +1966,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 @@ -2014,7 +2014,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 @@ -2062,7 +2062,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN_UBSAN path: ./ci/tmp @@ -2110,7 +2110,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN_UBSAN path: ./ci/tmp @@ -2158,7 +2158,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN_UBSAN path: ./ci/tmp @@ -2206,7 +2206,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN_UBSAN path: ./ci/tmp @@ -2254,7 +2254,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN_UBSAN path: ./ci/tmp @@ -2302,7 +2302,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact CH_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: CH_AMD_ASAN_UBSAN path: ./ci/tmp @@ -2350,7 +2350,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 @@ -2398,7 +2398,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 @@ -2446,7 +2446,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 @@ -2494,7 +2494,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 @@ -2542,7 +2542,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 @@ -2590,7 +2590,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 @@ -2638,7 +2638,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 @@ -2686,7 +2686,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 @@ -2734,7 +2734,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 @@ -2782,7 +2782,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 @@ -2830,7 +2830,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 @@ -2878,7 +2878,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 @@ -2926,7 +2926,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 @@ -2974,7 +2974,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 @@ -3022,7 +3022,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 @@ -3070,7 +3070,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 @@ -3118,7 +3118,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact UNITTEST_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: UNITTEST_AMD_ASAN_UBSAN path: ./ci/tmp @@ -3166,7 +3166,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 @@ -3214,7 +3214,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 @@ -3262,7 +3262,7 @@ jobs: ENV_SETUP_SCRIPT_EOF - name: Download artifact UNITTEST_AMD_ASAN_UBSAN - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: UNITTEST_AMD_ASAN_UBSAN path: ./ci/tmp @@ -3310,7 +3310,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 @@ -3358,7 +3358,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 @@ -3406,28 +3406,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 @@ -3475,28 +3475,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 @@ -3544,7 +3544,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 @@ -3592,7 +3592,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 40f5b6dea27a..918ebbfa3e15 100644 --- a/.github/workflows/release_builds.yml +++ b/.github/workflows/release_builds.yml @@ -1,11 +1,13 @@ # generated by praktika name: Release Builds + on: workflow_dispatch: inputs: env: + # Force the stdout and stderr streams to be unbuffered PYTHONUNBUFFERED: 1 GH_TOKEN: ${{ github.token }} CHECKOUT_REF: "" @@ -260,6 +262,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_debug)' --workflow "Release Builds" --ci --timestamp + - 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_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] @@ -304,6 +318,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_asan_ubsan)' --workflow "Release Builds" --ci --timestamp + - name: Upload artifact CH_AMD_ASAN_UBSAN_GH + id: upload_CH_AMD_ASAN_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_AMD_ASAN_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_AMD_ASAN_UBSAN_GH + if: steps.upload_CH_AMD_ASAN_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_AMD_ASAN_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] @@ -348,6 +374,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_binary)' --workflow "Release Builds" --ci --timestamp + - 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_debug: 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] @@ -392,6 +430,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_debug)' --workflow "Release Builds" --ci --timestamp + - name: Upload artifact CH_ARM_DEBUG_GH + id: upload_CH_ARM_DEBUG_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_DEBUG_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_DEBUG_GH + if: steps.upload_CH_ARM_DEBUG_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_DEBUG_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_asan_ubsan: 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] @@ -436,6 +486,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_asan_ubsan)' --workflow "Release Builds" --ci --timestamp + - name: Upload artifact CH_ARM_ASAN_UBSAN_GH + id: upload_CH_ARM_ASAN_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_ASAN_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_ASAN_UBSAN_GH + if: steps.upload_CH_ARM_ASAN_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_ASAN_UBSAN_GH] to GitHub artifacts (e.g. quota/rate limit). Downstream consumers will fall back to S3." + build_arm_ubsan: 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] @@ -480,6 +542,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_ubsan)' --workflow "Release Builds" --ci --timestamp + - name: Upload artifact CH_ARM_UBSAN_GH + id: upload_CH_ARM_UBSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_UBSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_UBSAN_GH + if: steps.upload_CH_ARM_UBSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_UBSAN_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] @@ -524,6 +598,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_binary)' --workflow "Release Builds" --ci --timestamp + - 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_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] @@ -568,6 +654,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_tsan)' --workflow "Release Builds" --ci --timestamp + - 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] @@ -612,6 +710,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_msan)' --workflow "Release Builds" --ci --timestamp + - 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_arm_tsan: 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] @@ -656,6 +766,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_tsan)' --workflow "Release Builds" --ci --timestamp + - 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_arm_msan: 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] @@ -700,6 +822,18 @@ jobs: . ./ci/tmp/praktika_setup_env.sh PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_msan)' --workflow "Release Builds" --ci --timestamp + - name: Upload artifact CH_ARM_MSAN_GH + id: upload_CH_ARM_MSAN_GH + uses: actions/upload-artifact@v7 + continue-on-error: true + with: + name: CH_ARM_MSAN_GH + path: ci/tmp/build/programs/self-extracting/clickhouse + retention-days: 1 + - name: Warn on failed upload of CH_ARM_MSAN_GH + if: steps.upload_CH_ARM_MSAN_GH.outcome == 'failure' + run: echo "::warning title=GH artifact upload failed::Failed to upload [CH_ARM_MSAN_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] @@ -1002,6 +1136,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: | @@ -1046,6 +1187,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 fc7d41b7609d..3bb3f3e1729e 100644 --- a/ci/defs/defs.py +++ b/ci/defs/defs.py @@ -426,6 +426,20 @@ 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_ARM_DEBUG_GH = "CH_ARM_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_AMD_ASAN_UBSAN_GH = "CH_AMD_ASAN_UBSAN_GH" + CH_ARM_ASAN_GH = "CH_ARM_ASAN_GH" + CH_ARM_TSAN_GH = "CH_ARM_TSAN_GH" + CH_ARM_UBSAN_GH = "CH_ARM_UBSAN_GH" + CH_ARM_ASAN_UBSAN_GH = "CH_ARM_ASAN_UBSAN_GH" + CH_ARM_MSAN_GH = "CH_ARM_MSAN_GH" FAST_TEST = "FAST_TEST" UNITTEST_AMD_ASAN_UBSAN = "UNITTEST_AMD_ASAN_UBSAN" @@ -542,6 +556,28 @@ 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, + ArtifactNames.CH_AMD_ASAN_UBSAN_GH, + ArtifactNames.CH_ARM_ASAN_UBSAN_GH, + ArtifactNames.CH_ARM_UBSAN_GH, + ArtifactNames.CH_ARM_MSAN_GH, + ArtifactNames.CH_ARM_DEBUG_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 6915e38f4bd4..b5184ad94679 100644 --- a/ci/defs/job_configs.py +++ b/ci/defs/job_configs.py @@ -272,13 +272,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_UBSAN, provides=[ ArtifactNames.CH_AMD_ASAN_UBSAN, + ArtifactNames.CH_AMD_ASAN_UBSAN_GH, ArtifactNames.DEB_AMD_ASAN_UBSAN, ArtifactNames.UNITTEST_AMD_ASAN_UBSAN, ], @@ -286,30 +291,45 @@ 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_DEBUG, - provides=[ArtifactNames.CH_ARM_DEBUG, ArtifactNames.DEB_ARM_DEBUG], + provides=[ + ArtifactNames.CH_ARM_DEBUG, + ArtifactNames.CH_ARM_DEBUG_GH, + ArtifactNames.DEB_ARM_DEBUG, + ], runs_on=RunnerLabels.BUILDER_AMD, ), Job.ParamSet( parameter=BuildTypes.ARM_ASAN_UBSAN, provides=[ ArtifactNames.CH_ARM_ASAN_UBSAN, + ArtifactNames.CH_ARM_ASAN_UBSAN_GH, ArtifactNames.DEB_ARM_ASAN_UBSAN, ], runs_on=RunnerLabels.ARM_LARGE, ), Job.ParamSet( parameter=BuildTypes.ARM_UBSAN, - provides=[ArtifactNames.CH_ARM_UBSAN, ArtifactNames.DEB_ARM_UBSAN], + provides=[ + ArtifactNames.CH_ARM_UBSAN, + ArtifactNames.CH_ARM_UBSAN_GH, + ArtifactNames.DEB_ARM_UBSAN, + ], runs_on=RunnerLabels.ARM_LARGE, ), Job.ParamSet( parameter=BuildTypes.ARM_BINARY, - provides=[ArtifactNames.CH_ARM_BINARY], + provides=[ + ArtifactNames.CH_ARM_BINARY, + ArtifactNames.CH_ARM_BINARY_GH, + ], runs_on=RunnerLabels.BUILDER_AMD, ), ) + common_sanitizer_build_job_config.set_post_hooks( @@ -322,6 +342,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, ], @@ -331,6 +352,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, ], @@ -340,13 +362,18 @@ class JobConfigs: parameter=BuildTypes.ARM_TSAN, provides=[ ArtifactNames.CH_ARM_TSAN, + ArtifactNames.CH_ARM_TSAN_GH, ArtifactNames.DEB_ARM_TSAN, ], runs_on=RunnerLabels.ARM_LARGE, ), Job.ParamSet( parameter=BuildTypes.ARM_MSAN, - provides=[ArtifactNames.CH_ARM_MSAN, ArtifactNames.DEB_ARM_MSAN], + provides=[ + ArtifactNames.CH_ARM_MSAN, + ArtifactNames.CH_ARM_MSAN_GH, + ArtifactNames.DEB_ARM_MSAN, + ], runs_on=RunnerLabels.ARM_LARGE, ), ) @@ -541,29 +568,29 @@ class JobConfigs: Job.ParamSet( parameter="amd_asan_ubsan, flaky check", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_ASAN_UBSAN], + requires=[ArtifactNames.CH_AMD_ASAN_UBSAN_GH], ), Job.ParamSet( parameter="amd_tsan, flaky check", runs_on=RunnerLabels.AMD_LARGE, - requires=[ArtifactNames.CH_AMD_TSAN], + requires=[ArtifactNames.CH_AMD_TSAN_GH], ), Job.ParamSet( parameter="amd_msan, flaky check", runs_on=RunnerLabels.AMD_LARGE, - requires=[ArtifactNames.CH_AMD_MSAN], + requires=[ArtifactNames.CH_AMD_MSAN_GH], ), Job.ParamSet( parameter="amd_debug, flaky check", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), ) stateless_tests_targeted_pr_jobs = common_ft_job_config.parametrize( Job.ParamSet( parameter="arm_asan_ubsan, targeted", runs_on=RunnerLabels.ARM_LARGE, - requires=[ArtifactNames.CH_ARM_ASAN_UBSAN], + requires=[ArtifactNames.CH_ARM_ASAN_UBSAN_GH], ), ) # --root/--privileged/--cgroupns=host is required for clickhouse-test --memory-limit @@ -593,7 +620,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( @@ -601,7 +628,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_asan_ubsan, distributed plan, parallel, {batch}/{total_batches}", runs_on=RunnerLabels.AMD_MEDIUM_CPU, - requires=[ArtifactNames.CH_AMD_ASAN_UBSAN], + requires=[ArtifactNames.CH_AMD_ASAN_UBSAN_GH], ) for total_batches in (2,) for batch in range(1, total_batches + 1) @@ -609,7 +636,7 @@ class JobConfigs: Job.ParamSet( parameter="amd_asan_ubsan, db disk, distributed plan, sequential", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_ASAN_UBSAN], + requires=[ArtifactNames.CH_AMD_ASAN_UBSAN_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", @@ -650,18 +677,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) @@ -670,7 +697,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) @@ -679,7 +706,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) @@ -688,7 +715,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) @@ -696,18 +723,18 @@ class JobConfigs: Job.ParamSet( parameter="amd_debug, distributed plan, s3 storage, parallel", runs_on=RunnerLabels.AMD_MEDIUM, # 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.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_TSAN], + requires=[ArtifactNames.CH_AMD_TSAN_GH], ) for total_batches in (2,) for batch in range(1, total_batches + 1) @@ -716,7 +743,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) @@ -724,12 +751,12 @@ class JobConfigs: Job.ParamSet( parameter="arm_binary, parallel", runs_on=RunnerLabels.ARM_MEDIUM_CPU, - 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( @@ -749,12 +776,12 @@ class JobConfigs: Job.ParamSet( parameter="arm_asan_ubsan, azure, parallel", runs_on=RunnerLabels.ARM_MEDIUM, - requires=[ArtifactNames.CH_ARM_ASAN_UBSAN], + requires=[ArtifactNames.CH_ARM_ASAN_UBSAN_GH], ), Job.ParamSet( parameter="arm_asan_ubsan, azure, sequential", runs_on=RunnerLabels.FUNC_TESTER_ARM, - requires=[ArtifactNames.CH_ARM_ASAN_UBSAN], + requires=[ArtifactNames.CH_ARM_ASAN_UBSAN_GH], ), ) bugfix_validation_it_job = ( @@ -900,7 +927,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_asan_ubsan, db disk, {batch}/{total_batches}", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_ASAN_UBSAN], + requires=[ArtifactNames.CH_AMD_ASAN_UBSAN_GH], ) for total_batches in (4,) for batch in range(1, total_batches + 1) @@ -911,7 +938,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_asan_ubsan, db disk, old analyzer, {batch}/{total_batches}", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_ASAN_UBSAN], + requires=[ArtifactNames.CH_AMD_ASAN_UBSAN_GH], ) for total_batches in (6,) for batch in range(1, total_batches + 1) @@ -920,7 +947,7 @@ class JobConfigs: Job.ParamSet( parameter=f"arm_binary, distributed plan, {batch}/{total_batches}", runs_on=RunnerLabels.ARM_MEDIUM, - requires=[ArtifactNames.CH_ARM_BINARY], + requires=[ArtifactNames.CH_ARM_BINARY_GH], ) for total_batches in (4,) for batch in range(1, total_batches + 1) @@ -931,7 +958,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_tsan, {batch}/{total_batches}", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_TSAN], + requires=[ArtifactNames.CH_AMD_TSAN_GH], ) for total_batches in (6,) for batch in range(1, total_batches + 1) @@ -940,7 +967,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_msan, {batch}/{total_batches}", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_MSAN], + requires=[ArtifactNames.CH_AMD_MSAN_GH], ) for total_batches in (6,) for batch in range(1, total_batches + 1) @@ -951,7 +978,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_asan_ubsan, flaky", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_ASAN_UBSAN], + requires=[ArtifactNames.CH_AMD_ASAN_UBSAN_GH], ) ) ) @@ -1016,7 +1043,7 @@ class JobConfigs: Job.ParamSet( parameter="amd_binary_excluded_from_llvm", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_BINARY], + requires=[ArtifactNames.CH_AMD_BINARY_GH], ), ) @@ -1025,7 +1052,7 @@ class JobConfigs: Job.ParamSet( parameter="amd_binary_excluded_from_llvm", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_BINARY], + requires=[ArtifactNames.CH_AMD_BINARY_GH], ), ) ) @@ -1034,7 +1061,7 @@ class JobConfigs: Job.ParamSet( parameter=f"amd_asan_ubsan, targeted", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_ASAN_UBSAN], + requires=[ArtifactNames.CH_AMD_ASAN_UBSAN_GH], ) ) # Keeper stress job config — shared by PR and nightly workflows. @@ -1057,7 +1084,7 @@ class JobConfigs: "./src/Coordination/", ], ), - requires=[ArtifactNames.CH_ARM_BINARY], + requires=[ArtifactNames.CH_ARM_BINARY_GH], result_name_for_cidb="Keeper Stress", timeout=24 * 3600, post_hooks=["python3 ./ci/jobs/scripts/ingest_keeper_metrics.py"], @@ -1101,22 +1128,22 @@ class JobConfigs: Job.ParamSet( parameter="amd_debug", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), Job.ParamSet( parameter="arm_asan_ubsan", runs_on=RunnerLabels.FUNC_TESTER_ARM, - requires=[ArtifactNames.CH_ARM_ASAN_UBSAN], + requires=[ArtifactNames.CH_ARM_ASAN_UBSAN_GH], ), Job.ParamSet( parameter="amd_tsan", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_TSAN], + requires=[ArtifactNames.CH_AMD_TSAN_GH], ), Job.ParamSet( parameter="amd_msan", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_MSAN], + requires=[ArtifactNames.CH_AMD_MSAN_GH], ), ) ast_fuzzer_targeted_pr_jobs = Job.Config( @@ -1139,12 +1166,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], ), ) @@ -1167,22 +1194,22 @@ 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_ubsan", runs_on=RunnerLabels.ARM_MEDIUM, - requires=[ArtifactNames.CH_ARM_ASAN_UBSAN], + requires=[ArtifactNames.CH_ARM_ASAN_UBSAN_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], ), ) stress_test_serverfuzz_jobs = common_stress_job_config.parametrize( @@ -1271,22 +1298,22 @@ class JobConfigs: Job.ParamSet( parameter="experimental, serverfuzz, amd_debug", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), Job.ParamSet( parameter="experimental, serverfuzz, arm_asan_ubsan", runs_on=RunnerLabels.ARM_MEDIUM, - requires=[ArtifactNames.CH_ARM_ASAN_UBSAN], + requires=[ArtifactNames.CH_ARM_ASAN_UBSAN_GH], ), Job.ParamSet( parameter="experimental, serverfuzz, amd_tsan", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_TSAN], + requires=[ArtifactNames.CH_AMD_TSAN_GH], ), Job.ParamSet( parameter="experimental, serverfuzz, amd_msan", runs_on=RunnerLabels.AMD_MEDIUM, - requires=[ArtifactNames.CH_AMD_MSAN], + requires=[ArtifactNames.CH_AMD_MSAN_GH], ), ) performance_comparison_with_master_head_jobs = Job.Config( @@ -1466,7 +1493,7 @@ class JobConfigs: Job.ParamSet( parameter="amd_debug", runs_on=RunnerLabels.FUNC_TESTER_AMD, - requires=[ArtifactNames.CH_AMD_DEBUG], + requires=[ArtifactNames.CH_AMD_DEBUG_GH], ), ) sqltest_master_job = Job.Config( diff --git a/ci/jobs/scripts/workflow_hooks/filter_job.py b/ci/jobs/scripts/workflow_hooks/filter_job.py index bb8ede0e6a0d..f5e5864c92db 100644 --- a/ci/jobs/scripts/workflow_hooks/filter_job.py +++ b/ci/jobs/scripts/workflow_hooks/filter_job.py @@ -8,7 +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): for file in changed_files: @@ -66,6 +66,19 @@ def only_docs(changed_files): # Must match ci.workflows.pull_request.KEEPER_STRESS_PR_NAME KEEPER_STRESS_PR_NAME = "Keeper Stress Tests (PR)" +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() + def _has_keeper_stress_changes(changed_files): """True if any changed file is under src/Coordination, tests/stress/keeper, programs/keeper-bench, or ci/jobs/keeper_stress_job.py.""" @@ -264,7 +277,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}'" # If only CI scripts changed (no product code), run a minimal set of tests diff --git a/ci/praktika/runner.py b/ci/praktika/runner.py index 815331522566..53a9af10da75 100644 --- a/ci/praktika/runner.py +++ b/ci/praktika/runner.py @@ -200,16 +200,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 = [] job_names_with_provides = { j.name for j in workflow.jobs if j.provides } 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) break else: if requires_artifact_name in job_names_with_provides: @@ -264,6 +265,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) + if not local_run and job.needs_submodules and Settings.ENABLE_SUBMODULE_CACHE: self._restore_submodule_cache() diff --git a/ci/praktika/validator.py b/ci/praktika/validator.py index 7b7fccf7d776..5cafa546fe80 100644 --- a/ci/praktika/validator.py +++ b/ci/praktika/validator.py @@ -212,8 +212,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/workflow.py b/ci/praktika/workflow.py index e857ea45bf2e..b35c17b2720c 100644 --- a/ci/praktika/workflow.py +++ b/ci/praktika/workflow.py @@ -140,4 +140,5 @@ class InputConfig: description: str is_required: bool default_value: str + input_type: str options: Optional[List] = None 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/ci/praktika/yaml_generator.py b/ci/praktika/yaml_generator.py index 46f820d2dce0..a4c4060dce91 100644 --- a/ci/praktika/yaml_generator.py +++ b/ci/praktika/yaml_generator.py @@ -102,11 +102,13 @@ class Templates: # generated by praktika name: {NAME} + on: workflow_dispatch: inputs:{DISPATCH_INPUTS} env: + # Force the stdout and stderr streams to be unbuffered PYTHONUNBUFFERED: 1 {ENV_CHECKOUT_REFERENCE} {ENV_SECRETS} @@ -120,6 +122,7 @@ class Templates: {NAME}: description: {DESCRIPTION} required: {IS_REQUIRED} + type: {INPUT_TYPE} default: {DEFAULT_VALUE}\ """ @@ -218,7 +221,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} @@ -226,7 +243,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} @@ -320,16 +346,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 ) ) @@ -342,7 +378,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( @@ -437,6 +473,7 @@ def _all_needs(job_name: str) -> set: DESCRIPTION=input_item.description, IS_REQUIRED="true" if input_item.is_required else "false", DEFAULT_VALUE=input_item.default_value or "''", + INPUT_TYPE=input_item.input_type, ) else: dispatch_inputs += ( diff --git a/ci/workflows/master.py b/ci/workflows/master.py index d8e3dd03b4dd..05d061b134d9 100644 --- a/ci/workflows/master.py +++ b/ci/workflows/master.py @@ -20,8 +20,16 @@ workflow = Workflow.Config( name="MasterCI", - event=Workflow.Event.PUSH, - branches=[BASE_BRANCH, "releases/*", "antalya-*", "stable-*"], + event=Workflow.Event.DISPATCH, + inputs=[ + Workflow.Config.InputConfig( + name="no_cache", + description="Run without cache", + is_required=False, + input_type="boolean", + default_value="false", + ), + ], jobs=[ # *JobConfigs.tidy_build_arm_jobs, *JobConfigs.build_jobs, @@ -77,6 +85,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/nightly_keeper.py b/ci/workflows/nightly_keeper.py index 14089695aaa3..ce5910b7e583 100644 --- a/ci/workflows/nightly_keeper.py +++ b/ci/workflows/nightly_keeper.py @@ -5,7 +5,7 @@ binary_build_job = Job.Config.get_job( JobConfigs.build_jobs, f"Build ({BuildTypes.ARM_BINARY})" -).set_provides(ArtifactNames.CH_ARM_BINARY, reset=True) +).set_provides(ArtifactNames.CH_ARM_BINARY_GH, reset=True) # No-fault run: Sun / Tue / Thu / Sat workflow = Workflow.Config( @@ -18,6 +18,7 @@ ], artifacts=[ *ArtifactConfigs.clickhouse_binaries, + *ArtifactConfigs.clickhouse_binaries_gh, ], dockers=DOCKERS, secrets=SECRETS, diff --git a/ci/workflows/nightly_keeper_faults.py b/ci/workflows/nightly_keeper_faults.py index 38c15f0349a7..afc1b5d947b2 100644 --- a/ci/workflows/nightly_keeper_faults.py +++ b/ci/workflows/nightly_keeper_faults.py @@ -5,7 +5,7 @@ binary_build_job = Job.Config.get_job( JobConfigs.build_jobs, f"Build ({BuildTypes.ARM_BINARY})" -).set_provides(ArtifactNames.CH_ARM_BINARY, reset=True) +).set_provides(ArtifactNames.CH_ARM_BINARY_GH, reset=True) # Fault run: Mon / Wed / Fri workflow = Workflow.Config( @@ -18,6 +18,7 @@ ], artifacts=[ *ArtifactConfigs.clickhouse_binaries, + *ArtifactConfigs.clickhouse_binaries_gh, ], dockers=DOCKERS, secrets=SECRETS, diff --git a/ci/workflows/pull_request.py b/ci/workflows/pull_request.py index 3401a3f41012..00ccd56d2a85 100644 --- a/ci/workflows/pull_request.py +++ b/ci/workflows/pull_request.py @@ -156,6 +156,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 293916429c9a..af76e6ac9c4b 100644 --- a/ci/workflows/pull_request_community.py +++ b/ci/workflows/pull_request_community.py @@ -27,6 +27,19 @@ 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, @@ -134,6 +147,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 9cc42f01aacf..382ac86e8e70 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,