From 36bdc924675b6a331c25bec53baacb98d0673bb8 Mon Sep 17 00:00:00 2001 From: strtgbb <146047128+strtgbb@users.noreply.github.com> Date: Thu, 30 Apr 2026 09:59:35 -0400 Subject: [PATCH 1/2] split stateless arm_asan, azure, sequential --- .github/workflows/master.yml | 60 ++++++++++++++++++++++++++---- .github/workflows/pull_request.yml | 60 ++++++++++++++++++++++++++---- ci/defs/job_configs.py | 23 +++++++----- 3 files changed, 120 insertions(+), 23 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index baa355c911bc..07cbf75a3d39 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -2569,11 +2569,11 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_arm_asan_azure_sequential: + stateless_tests_arm_asan_azure_sequential_1_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [build_arm_asan, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYXNhbiwgYXp1cmUsIHNlcXVlbnRpYWwp') }} - name: "Stateless tests (arm_asan, azure, sequential)" + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYXNhbiwgYXp1cmUsIHNlcXVlbnRpYWwsIDEvMik=') }} + name: "Stateless tests (arm_asan, azure, sequential, 1/2)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} @@ -2588,7 +2588,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (arm_asan, azure, sequential)" + test_name: "Stateless tests (arm_asan, azure, sequential, 1/2)" - name: Prepare env script run: | @@ -2610,7 +2610,52 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (arm_asan, azure, sequential)' --workflow "MasterCI" --ci 2>&1 | python3 -u -c 'import sys,datetime + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (arm_asan, azure, sequential, 1/2)' --workflow "MasterCI" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + + stateless_tests_arm_asan_azure_sequential_2_2: + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] + needs: [build_arm_asan, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYXNhbiwgYXp1cmUsIHNlcXVlbnRpYWwsIDIvMik=') }} + name: "Stateless tests (arm_asan, azure, sequential, 2/2)" + outputs: + data: ${{ steps.run.outputs.DATA }} + pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + ref: ${{ env.CHECKOUT_REF }} + + - name: Setup + uses: ./.github/actions/runner_setup + - name: Docker setup + uses: ./.github/actions/docker_setup + with: + test_name: "Stateless tests (arm_asan, azure, sequential, 2/2)" + + - name: Prepare env script + run: | + rm -rf ./ci/tmp + mkdir -p ./ci/tmp + cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' + export PYTHONPATH=./ci:.: + + cat > ./ci/tmp/workflow_job.json << 'EOF' + ${{ toJson(job) }} + EOF + cat > ./ci/tmp/workflow_status.json << 'EOF' + ${{ toJson(needs) }} + EOF + ENV_SETUP_SCRIPT_EOF + + - name: Run + id: run + run: | + . ./ci/tmp/praktika_setup_env.sh + set -o pipefail + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (arm_asan, azure, sequential, 2/2)' --workflow "MasterCI" --ci 2>&1 | python3 -u -c 'import sys,datetime prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log @@ -5226,7 +5271,7 @@ jobs: finish_workflow: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker-aarch64] - needs: [ast_fuzzer_amd_debug, ast_fuzzer_amd_msan, ast_fuzzer_amd_tsan, ast_fuzzer_amd_ubsan, ast_fuzzer_arm_asan, build_amd_asan, build_amd_binary, build_amd_coverage, build_amd_debug, build_amd_msan, build_amd_release, build_amd_tsan, build_amd_ubsan, build_arm_asan, build_arm_binary, build_arm_release, buzzhouse_amd_debug, buzzhouse_amd_msan, buzzhouse_amd_tsan, buzzhouse_amd_ubsan, buzzhouse_arm_asan, clickbench_amd_release, clickbench_arm_release, compatibility_check_amd_release, compatibility_check_arm_release, config_workflow, docker_keeper_image, docker_server_image, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, install_packages_amd_release, install_packages_arm_release, integration_tests_amd_asan_db_disk_old_analyzer_1_6, integration_tests_amd_asan_db_disk_old_analyzer_2_6, integration_tests_amd_asan_db_disk_old_analyzer_3_6, integration_tests_amd_asan_db_disk_old_analyzer_4_6, integration_tests_amd_asan_db_disk_old_analyzer_5_6, integration_tests_amd_asan_db_disk_old_analyzer_6_6, integration_tests_amd_binary_1_5, integration_tests_amd_binary_2_5, integration_tests_amd_binary_3_5, integration_tests_amd_binary_4_5, integration_tests_amd_binary_5_5, integration_tests_amd_msan_1_6, integration_tests_amd_msan_2_6, integration_tests_amd_msan_3_6, integration_tests_amd_msan_4_6, integration_tests_amd_msan_5_6, integration_tests_amd_msan_6_6, integration_tests_amd_tsan_1_6, integration_tests_amd_tsan_2_6, integration_tests_amd_tsan_3_6, integration_tests_amd_tsan_4_6, integration_tests_amd_tsan_5_6, integration_tests_amd_tsan_6_6, integration_tests_arm_binary_distributed_plan_1_4, integration_tests_arm_binary_distributed_plan_2_4, integration_tests_arm_binary_distributed_plan_3_4, integration_tests_arm_binary_distributed_plan_4_4, sqllogic_test, sqltest, stateless_tests_amd_asan_db_disk_distributed_plan_sequential, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_coverage_1_8, stateless_tests_amd_coverage_2_8, stateless_tests_amd_coverage_3_8, stateless_tests_amd_coverage_4_8, stateless_tests_amd_coverage_5_8, stateless_tests_amd_coverage_6_8, stateless_tests_amd_coverage_7_8, stateless_tests_amd_coverage_8_8, stateless_tests_amd_debug_distributed_plan_s3_storage_parallel, stateless_tests_amd_debug_distributed_plan_s3_storage_sequential, stateless_tests_amd_debug_parallel, stateless_tests_amd_debug_sequential, stateless_tests_amd_msan_wasmedge_parallel_1_4, stateless_tests_amd_msan_wasmedge_parallel_2_4, stateless_tests_amd_msan_wasmedge_parallel_3_4, stateless_tests_amd_msan_wasmedge_parallel_4_4, stateless_tests_amd_msan_wasmedge_sequential_1_2, stateless_tests_amd_msan_wasmedge_sequential_2_2, stateless_tests_amd_tsan_parallel_1_2, stateless_tests_amd_tsan_parallel_2_2, stateless_tests_amd_tsan_s3_storage_parallel_1_2, stateless_tests_amd_tsan_s3_storage_parallel_2_2, stateless_tests_amd_tsan_s3_storage_sequential_1_2, stateless_tests_amd_tsan_s3_storage_sequential_2_2, stateless_tests_amd_tsan_sequential_1_2, stateless_tests_amd_tsan_sequential_2_2, stateless_tests_amd_ubsan_parallel, stateless_tests_amd_ubsan_sequential, stateless_tests_arm_asan_azure_parallel_1_4, stateless_tests_arm_asan_azure_parallel_2_4, stateless_tests_arm_asan_azure_parallel_3_4, stateless_tests_arm_asan_azure_parallel_4_4, stateless_tests_arm_asan_azure_sequential, stateless_tests_arm_binary_parallel, stateless_tests_arm_binary_sequential, stress_test_amd_debug, stress_test_amd_msan, stress_test_amd_release, stress_test_amd_tsan, stress_test_amd_ubsan, stress_test_arm_asan, stress_test_arm_asan_s3, stress_test_azure_amd_msan, stress_test_azure_amd_tsan, unit_tests_asan, unit_tests_msan, unit_tests_tsan, unit_tests_ubsan] + needs: [ast_fuzzer_amd_debug, ast_fuzzer_amd_msan, ast_fuzzer_amd_tsan, ast_fuzzer_amd_ubsan, ast_fuzzer_arm_asan, build_amd_asan, build_amd_binary, build_amd_coverage, build_amd_debug, build_amd_msan, build_amd_release, build_amd_tsan, build_amd_ubsan, build_arm_asan, build_arm_binary, build_arm_release, buzzhouse_amd_debug, buzzhouse_amd_msan, buzzhouse_amd_tsan, buzzhouse_amd_ubsan, buzzhouse_arm_asan, clickbench_amd_release, clickbench_arm_release, compatibility_check_amd_release, compatibility_check_arm_release, config_workflow, docker_keeper_image, docker_server_image, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, install_packages_amd_release, install_packages_arm_release, integration_tests_amd_asan_db_disk_old_analyzer_1_6, integration_tests_amd_asan_db_disk_old_analyzer_2_6, integration_tests_amd_asan_db_disk_old_analyzer_3_6, integration_tests_amd_asan_db_disk_old_analyzer_4_6, integration_tests_amd_asan_db_disk_old_analyzer_5_6, integration_tests_amd_asan_db_disk_old_analyzer_6_6, integration_tests_amd_binary_1_5, integration_tests_amd_binary_2_5, integration_tests_amd_binary_3_5, integration_tests_amd_binary_4_5, integration_tests_amd_binary_5_5, integration_tests_amd_msan_1_6, integration_tests_amd_msan_2_6, integration_tests_amd_msan_3_6, integration_tests_amd_msan_4_6, integration_tests_amd_msan_5_6, integration_tests_amd_msan_6_6, integration_tests_amd_tsan_1_6, integration_tests_amd_tsan_2_6, integration_tests_amd_tsan_3_6, integration_tests_amd_tsan_4_6, integration_tests_amd_tsan_5_6, integration_tests_amd_tsan_6_6, integration_tests_arm_binary_distributed_plan_1_4, integration_tests_arm_binary_distributed_plan_2_4, integration_tests_arm_binary_distributed_plan_3_4, integration_tests_arm_binary_distributed_plan_4_4, sqllogic_test, sqltest, stateless_tests_amd_asan_db_disk_distributed_plan_sequential, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_coverage_1_8, stateless_tests_amd_coverage_2_8, stateless_tests_amd_coverage_3_8, stateless_tests_amd_coverage_4_8, stateless_tests_amd_coverage_5_8, stateless_tests_amd_coverage_6_8, stateless_tests_amd_coverage_7_8, stateless_tests_amd_coverage_8_8, stateless_tests_amd_debug_distributed_plan_s3_storage_parallel, stateless_tests_amd_debug_distributed_plan_s3_storage_sequential, stateless_tests_amd_debug_parallel, stateless_tests_amd_debug_sequential, stateless_tests_amd_msan_wasmedge_parallel_1_4, stateless_tests_amd_msan_wasmedge_parallel_2_4, stateless_tests_amd_msan_wasmedge_parallel_3_4, stateless_tests_amd_msan_wasmedge_parallel_4_4, stateless_tests_amd_msan_wasmedge_sequential_1_2, stateless_tests_amd_msan_wasmedge_sequential_2_2, stateless_tests_amd_tsan_parallel_1_2, stateless_tests_amd_tsan_parallel_2_2, stateless_tests_amd_tsan_s3_storage_parallel_1_2, stateless_tests_amd_tsan_s3_storage_parallel_2_2, stateless_tests_amd_tsan_s3_storage_sequential_1_2, stateless_tests_amd_tsan_s3_storage_sequential_2_2, stateless_tests_amd_tsan_sequential_1_2, stateless_tests_amd_tsan_sequential_2_2, stateless_tests_amd_ubsan_parallel, stateless_tests_amd_ubsan_sequential, stateless_tests_arm_asan_azure_parallel_1_4, stateless_tests_arm_asan_azure_parallel_2_4, stateless_tests_arm_asan_azure_parallel_3_4, stateless_tests_arm_asan_azure_parallel_4_4, stateless_tests_arm_asan_azure_sequential_1_2, stateless_tests_arm_asan_azure_sequential_2_2, stateless_tests_arm_binary_parallel, stateless_tests_arm_binary_sequential, stress_test_amd_debug, stress_test_amd_msan, stress_test_amd_release, stress_test_amd_tsan, stress_test_amd_ubsan, stress_test_arm_asan, stress_test_arm_asan_s3, stress_test_azure_amd_msan, stress_test_azure_amd_tsan, unit_tests_asan, unit_tests_msan, unit_tests_tsan, unit_tests_ubsan] if: ${{ always() }} name: "Finish Workflow" outputs: @@ -5398,7 +5443,8 @@ jobs: - stateless_tests_arm_asan_azure_parallel_2_4 - stateless_tests_arm_asan_azure_parallel_3_4 - stateless_tests_arm_asan_azure_parallel_4_4 - - stateless_tests_arm_asan_azure_sequential + - stateless_tests_arm_asan_azure_sequential_1_2 + - stateless_tests_arm_asan_azure_sequential_2_2 - integration_tests_amd_asan_db_disk_old_analyzer_1_6 - integration_tests_amd_asan_db_disk_old_analyzer_2_6 - integration_tests_amd_asan_db_disk_old_analyzer_3_6 diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 8a6f6eb47fd2..8b6eb13a68ae 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -2392,11 +2392,11 @@ jobs: prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_arm_asan_azure_sequential: + stateless_tests_arm_asan_azure_sequential_1_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [build_amd_asan, build_amd_debug, build_arm_asan, build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYXNhbiwgYXp1cmUsIHNlcXVlbnRpYWwp') }} - name: "Stateless tests (arm_asan, azure, sequential)" + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYXNhbiwgYXp1cmUsIHNlcXVlbnRpYWwsIDEvMik=') }} + name: "Stateless tests (arm_asan, azure, sequential, 1/2)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} @@ -2411,7 +2411,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (arm_asan, azure, sequential)" + test_name: "Stateless tests (arm_asan, azure, sequential, 1/2)" - name: Prepare env script run: | @@ -2433,7 +2433,52 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (arm_asan, azure, sequential)' --workflow "PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (arm_asan, azure, sequential, 1/2)' --workflow "PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + + stateless_tests_arm_asan_azure_sequential_2_2: + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] + needs: [build_amd_asan, build_amd_debug, build_arm_asan, build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYXNhbiwgYXp1cmUsIHNlcXVlbnRpYWwsIDIvMik=') }} + name: "Stateless tests (arm_asan, azure, sequential, 2/2)" + outputs: + data: ${{ steps.run.outputs.DATA }} + pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + ref: ${{ env.CHECKOUT_REF }} + + - name: Setup + uses: ./.github/actions/runner_setup + - name: Docker setup + uses: ./.github/actions/docker_setup + with: + test_name: "Stateless tests (arm_asan, azure, sequential, 2/2)" + + - name: Prepare env script + run: | + rm -rf ./ci/tmp + mkdir -p ./ci/tmp + cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' + export PYTHONPATH=./ci:.: + + cat > ./ci/tmp/workflow_job.json << 'EOF' + ${{ toJson(job) }} + EOF + cat > ./ci/tmp/workflow_status.json << 'EOF' + ${{ toJson(needs) }} + EOF + ENV_SETUP_SCRIPT_EOF + + - name: Run + id: run + run: | + . ./ci/tmp/praktika_setup_env.sh + set -o pipefail + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (arm_asan, azure, sequential, 2/2)' --workflow "PR" --ci 2>&1 | python3 -u -c 'import sys,datetime prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log @@ -5004,7 +5049,7 @@ jobs: finish_workflow: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker-aarch64] - needs: [ast_fuzzer_amd_debug, ast_fuzzer_amd_debug_targeted, ast_fuzzer_amd_debug_targeted_old_compatibility, ast_fuzzer_amd_msan, ast_fuzzer_amd_tsan, ast_fuzzer_amd_ubsan, ast_fuzzer_arm_asan, build_amd_asan, build_amd_binary, build_amd_debug, build_amd_msan, build_amd_release, build_amd_tsan, build_amd_ubsan, build_arm_asan, build_arm_binary, build_arm_release, build_arm_tsan, build_toolchain_pgo_bolt_aarch64, build_toolchain_pgo_bolt_amd64, buzzhouse_amd_debug, buzzhouse_amd_msan, buzzhouse_amd_tsan, buzzhouse_amd_ubsan, buzzhouse_arm_asan, compatibility_check_amd_release, compatibility_check_arm_release, config_workflow, docker_keeper_image, docker_server_image, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test, install_packages_amd_release, install_packages_arm_release, integration_tests_amd_asan_db_disk_old_analyzer_1_6, integration_tests_amd_asan_db_disk_old_analyzer_2_6, integration_tests_amd_asan_db_disk_old_analyzer_3_6, integration_tests_amd_asan_db_disk_old_analyzer_4_6, integration_tests_amd_asan_db_disk_old_analyzer_5_6, integration_tests_amd_asan_db_disk_old_analyzer_6_6, integration_tests_amd_asan_targeted, integration_tests_amd_binary_1_5, integration_tests_amd_binary_2_5, integration_tests_amd_binary_3_5, integration_tests_amd_binary_4_5, integration_tests_amd_binary_5_5, integration_tests_amd_msan_1_6, integration_tests_amd_msan_2_6, integration_tests_amd_msan_3_6, integration_tests_amd_msan_4_6, integration_tests_amd_msan_5_6, integration_tests_amd_msan_6_6, integration_tests_amd_tsan_1_6, integration_tests_amd_tsan_2_6, integration_tests_amd_tsan_3_6, integration_tests_amd_tsan_4_6, integration_tests_amd_tsan_5_6, integration_tests_amd_tsan_6_6, integration_tests_arm_binary_distributed_plan_1_4, integration_tests_arm_binary_distributed_plan_2_4, integration_tests_arm_binary_distributed_plan_3_4, integration_tests_arm_binary_distributed_plan_4_4, quick_functional_tests, sqllogic_test, stateless_tests_amd_asan_db_disk_distributed_plan_sequential, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_distributed_plan_s3_storage_parallel, stateless_tests_amd_debug_distributed_plan_s3_storage_sequential, stateless_tests_amd_debug_parallel, stateless_tests_amd_debug_sequential, stateless_tests_amd_msan_wasmedge_parallel_1_4, stateless_tests_amd_msan_wasmedge_parallel_2_4, stateless_tests_amd_msan_wasmedge_parallel_3_4, stateless_tests_amd_msan_wasmedge_parallel_4_4, stateless_tests_amd_msan_wasmedge_sequential_1_2, stateless_tests_amd_msan_wasmedge_sequential_2_2, stateless_tests_amd_tsan_parallel_1_2, stateless_tests_amd_tsan_parallel_2_2, stateless_tests_amd_tsan_s3_storage_parallel_1_2, stateless_tests_amd_tsan_s3_storage_parallel_2_2, stateless_tests_amd_tsan_s3_storage_sequential_1_2, stateless_tests_amd_tsan_s3_storage_sequential_2_2, stateless_tests_amd_tsan_sequential_1_2, stateless_tests_amd_tsan_sequential_2_2, stateless_tests_amd_ubsan_parallel, stateless_tests_amd_ubsan_sequential, stateless_tests_arm_asan_azure_parallel_1_4, stateless_tests_arm_asan_azure_parallel_2_4, stateless_tests_arm_asan_azure_parallel_3_4, stateless_tests_arm_asan_azure_parallel_4_4, stateless_tests_arm_asan_azure_sequential, stateless_tests_arm_asan_targeted, stateless_tests_arm_binary_parallel, stateless_tests_arm_binary_sequential, stress_test_amd_debug, stress_test_amd_msan, stress_test_amd_release, stress_test_amd_tsan, stress_test_amd_ubsan, stress_test_arm_asan, stress_test_arm_asan_s3, unit_tests_asan, unit_tests_msan, unit_tests_tsan, unit_tests_ubsan] + needs: [ast_fuzzer_amd_debug, ast_fuzzer_amd_debug_targeted, ast_fuzzer_amd_debug_targeted_old_compatibility, ast_fuzzer_amd_msan, ast_fuzzer_amd_tsan, ast_fuzzer_amd_ubsan, ast_fuzzer_arm_asan, build_amd_asan, build_amd_binary, build_amd_debug, build_amd_msan, build_amd_release, build_amd_tsan, build_amd_ubsan, build_arm_asan, build_arm_binary, build_arm_release, build_arm_tsan, build_toolchain_pgo_bolt_aarch64, build_toolchain_pgo_bolt_amd64, buzzhouse_amd_debug, buzzhouse_amd_msan, buzzhouse_amd_tsan, buzzhouse_amd_ubsan, buzzhouse_arm_asan, compatibility_check_amd_release, compatibility_check_arm_release, config_workflow, docker_keeper_image, docker_server_image, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, fast_test, install_packages_amd_release, install_packages_arm_release, integration_tests_amd_asan_db_disk_old_analyzer_1_6, integration_tests_amd_asan_db_disk_old_analyzer_2_6, integration_tests_amd_asan_db_disk_old_analyzer_3_6, integration_tests_amd_asan_db_disk_old_analyzer_4_6, integration_tests_amd_asan_db_disk_old_analyzer_5_6, integration_tests_amd_asan_db_disk_old_analyzer_6_6, integration_tests_amd_asan_targeted, integration_tests_amd_binary_1_5, integration_tests_amd_binary_2_5, integration_tests_amd_binary_3_5, integration_tests_amd_binary_4_5, integration_tests_amd_binary_5_5, integration_tests_amd_msan_1_6, integration_tests_amd_msan_2_6, integration_tests_amd_msan_3_6, integration_tests_amd_msan_4_6, integration_tests_amd_msan_5_6, integration_tests_amd_msan_6_6, integration_tests_amd_tsan_1_6, integration_tests_amd_tsan_2_6, integration_tests_amd_tsan_3_6, integration_tests_amd_tsan_4_6, integration_tests_amd_tsan_5_6, integration_tests_amd_tsan_6_6, integration_tests_arm_binary_distributed_plan_1_4, integration_tests_arm_binary_distributed_plan_2_4, integration_tests_arm_binary_distributed_plan_3_4, integration_tests_arm_binary_distributed_plan_4_4, quick_functional_tests, sqllogic_test, stateless_tests_amd_asan_db_disk_distributed_plan_sequential, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_distributed_plan_s3_storage_parallel, stateless_tests_amd_debug_distributed_plan_s3_storage_sequential, stateless_tests_amd_debug_parallel, stateless_tests_amd_debug_sequential, stateless_tests_amd_msan_wasmedge_parallel_1_4, stateless_tests_amd_msan_wasmedge_parallel_2_4, stateless_tests_amd_msan_wasmedge_parallel_3_4, stateless_tests_amd_msan_wasmedge_parallel_4_4, stateless_tests_amd_msan_wasmedge_sequential_1_2, stateless_tests_amd_msan_wasmedge_sequential_2_2, stateless_tests_amd_tsan_parallel_1_2, stateless_tests_amd_tsan_parallel_2_2, stateless_tests_amd_tsan_s3_storage_parallel_1_2, stateless_tests_amd_tsan_s3_storage_parallel_2_2, stateless_tests_amd_tsan_s3_storage_sequential_1_2, stateless_tests_amd_tsan_s3_storage_sequential_2_2, stateless_tests_amd_tsan_sequential_1_2, stateless_tests_amd_tsan_sequential_2_2, stateless_tests_amd_ubsan_parallel, stateless_tests_amd_ubsan_sequential, stateless_tests_arm_asan_azure_parallel_1_4, stateless_tests_arm_asan_azure_parallel_2_4, stateless_tests_arm_asan_azure_parallel_3_4, stateless_tests_arm_asan_azure_parallel_4_4, stateless_tests_arm_asan_azure_sequential_1_2, stateless_tests_arm_asan_azure_sequential_2_2, stateless_tests_arm_asan_targeted, stateless_tests_arm_binary_parallel, stateless_tests_arm_binary_sequential, stress_test_amd_debug, stress_test_amd_msan, stress_test_amd_release, stress_test_amd_tsan, stress_test_amd_ubsan, stress_test_arm_asan, stress_test_arm_asan_s3, unit_tests_asan, unit_tests_msan, unit_tests_tsan, unit_tests_ubsan] if: ${{ always() }} name: "Finish Workflow" outputs: @@ -5153,7 +5198,8 @@ jobs: - stateless_tests_arm_asan_azure_parallel_2_4 - stateless_tests_arm_asan_azure_parallel_3_4 - stateless_tests_arm_asan_azure_parallel_4_4 - - stateless_tests_arm_asan_azure_sequential + - stateless_tests_arm_asan_azure_sequential_1_2 + - stateless_tests_arm_asan_azure_sequential_2_2 - integration_tests_amd_asan_db_disk_old_analyzer_1_6 - integration_tests_amd_asan_db_disk_old_analyzer_2_6 - integration_tests_amd_asan_db_disk_old_analyzer_3_6 diff --git a/ci/defs/job_configs.py b/ci/defs/job_configs.py index 8d28a4dc51a1..41981ebfc3f7 100644 --- a/ci/defs/job_configs.py +++ b/ci/defs/job_configs.py @@ -167,20 +167,20 @@ class JobConfigs: allow_merge_on_failure=True, enable_gh_auth=True, ) - #code_review = Job.Config( + # code_review = Job.Config( # name=JobNames.CODE_REVIEW, # runs_on=RunnerLabels.STYLE_CHECK_ARM, # command="python3 ./ci/jobs/copilot_review_job.py --pre", # allow_merge_on_failure=True, # enable_gh_auth=True, - #) - #ci_results_review = Job.Config( + # ) + # ci_results_review = Job.Config( # name=JobNames.CI_RESULTS_REVIEW, # runs_on=RunnerLabels.STYLE_CHECK_ARM, # command="python3 ./ci/jobs/copilot_review_job.py --post", # allow_merge_on_failure=True, # enable_gh_auth=True, - #) + # ) fast_test = Job.Config( name=JobNames.FAST_TEST, runs_on=RunnerLabels.AMD_LARGE, @@ -718,11 +718,16 @@ class JobConfigs: for total_batches in (4,) for batch in range(1, total_batches + 1) ], - Job.ParamSet( - parameter="arm_asan, azure, sequential", - runs_on=RunnerLabels.FUNC_TESTER_ARM, - requires=[ArtifactNames.CH_ARM_ASAN], - ), + *[ + Job.ParamSet( + parameter=f"arm_asan, azure, sequential, {batch}/{total_batches}", + runs_on=RunnerLabels.FUNC_TESTER_ARM, + requires=[ArtifactNames.CH_ARM_ASAN], + timeout=3600 * 4, + ) + for total_batches in (2,) + for batch in range(1, total_batches + 1) + ], ) bugfix_validation_it_job = ( common_integration_test_job_config.set_name(JobNames.BUGFIX_VALIDATE_IT) From 05abc23ef3b28df87086c49822f1ec0ab3016314 Mon Sep 17 00:00:00 2001 From: strtgbb <146047128+strtgbb@users.noreply.github.com> Date: Thu, 30 Apr 2026 10:43:15 -0400 Subject: [PATCH 2/2] re-enable pull_request_community and release_builds --- .github/workflows/pull_request_community.yml | 1501 +++++++++--------- .github/workflows/release_builds.yml | 451 ++---- ci/praktika/yaml_generator.py | 6 +- ci/settings/altinity_overrides.py | 2 - ci/workflows/pull_request_community.py | 14 +- ci/workflows/release_builds.py | 15 +- 6 files changed, 915 insertions(+), 1074 deletions(-) diff --git a/.github/workflows/pull_request_community.yml b/.github/workflows/pull_request_community.yml index 76f83b6efd30..05d51eab81b9 100644 --- a/.github/workflows/pull_request_community.yml +++ b/.github/workflows/pull_request_community.yml @@ -35,7 +35,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -80,14 +80,12 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Config Workflow' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Config Workflow' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Config Workflow' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log fast_test: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] needs: [config_workflow] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'RmFzdCB0ZXN0') }} name: "Fast test" @@ -96,7 +94,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -127,14 +125,12 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Fast test' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Fast test' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Fast test' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log build_amd_debug: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF9kZWJ1Zyk=') }} name: "Build (amd_debug)" @@ -143,7 +139,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -174,11 +170,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_debug)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_debug)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_debug)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_AMD_DEBUG uses: actions/upload-artifact@v4 @@ -194,7 +188,7 @@ jobs: path: ci/tmp/*.deb build_amd_asan: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF9hc2FuKQ==') }} name: "Build (amd_asan)" @@ -203,7 +197,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -234,11 +228,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_asan)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_asan)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_asan)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact UNITTEST_AMD_ASAN uses: actions/upload-artifact@v4 @@ -261,7 +253,7 @@ jobs: path: ci/tmp/*.deb build_amd_tsan: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF90c2FuKQ==') }} name: "Build (amd_tsan)" @@ -270,7 +262,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -301,11 +293,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_tsan)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_tsan)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_tsan)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact UNITTEST_AMD_TSAN uses: actions/upload-artifact@v4 @@ -328,7 +318,7 @@ jobs: path: ci/tmp/*.deb build_amd_msan: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF9tc2FuKQ==') }} name: "Build (amd_msan)" @@ -337,7 +327,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -368,11 +358,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_msan)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_msan)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_msan)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact UNITTEST_AMD_MSAN uses: actions/upload-artifact@v4 @@ -395,7 +383,7 @@ jobs: path: ci/tmp/*.deb build_amd_ubsan: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF91YnNhbik=') }} name: "Build (amd_ubsan)" @@ -404,7 +392,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -435,11 +423,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_ubsan)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_ubsan)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_ubsan)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact UNITTEST_AMD_UBSAN uses: actions/upload-artifact@v4 @@ -462,7 +448,7 @@ jobs: path: ci/tmp/*.deb build_amd_binary: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF9iaW5hcnkp') }} name: "Build (amd_binary)" @@ -471,7 +457,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -502,11 +488,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_binary)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_binary)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_binary)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_AMD_BINARY uses: actions/upload-artifact@v4 @@ -524,7 +508,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -555,11 +539,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (arm_asan)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (arm_asan)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_asan)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_ARM_ASAN uses: actions/upload-artifact@v4 @@ -575,7 +557,7 @@ jobs: path: ci/tmp/*.deb build_arm_binary: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFybV9iaW5hcnkp') }} name: "Build (arm_binary)" @@ -584,7 +566,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -615,11 +597,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (arm_binary)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (arm_binary)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_binary)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_ARM_BIN uses: actions/upload-artifact@v4 @@ -627,8 +607,15 @@ jobs: name: CH_ARM_BIN path: ci/tmp/build/programs/self-extracting/clickhouse + + - name: Upload artifact PARSER_MEMORY_PROFILER + uses: actions/upload-artifact@v4 + with: + name: PARSER_MEMORY_PROFILER + path: ci/tmp/build/src/Parsers/examples/parser_memory_profiler + build_arm_tsan: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFybV90c2FuKQ==') }} name: "Build (arm_tsan)" @@ -637,7 +624,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -668,11 +655,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (arm_tsan)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (arm_tsan)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_tsan)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_ARM_TSAN uses: actions/upload-artifact@v4 @@ -682,7 +667,7 @@ jobs: build_amd_release: runs-on: [self-hosted, altinity-on-demand, altinity-builder] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF9yZWxlYXNlKQ==') }} name: "Build (amd_release)" outputs: @@ -690,7 +675,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -721,11 +706,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_release)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_release)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_release)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_AMD_RELEASE uses: actions/upload-artifact@v4 @@ -763,7 +746,7 @@ jobs: build_arm_release: runs-on: [self-hosted, altinity-on-demand, altinity-builder] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFybV9yZWxlYXNlKQ==') }} name: "Build (arm_release)" outputs: @@ -771,7 +754,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -802,11 +785,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (arm_release)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (arm_release)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_release)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - name: Upload artifact CH_ARM_RELEASE uses: actions/upload-artifact@v4 @@ -844,7 +825,7 @@ jobs: quick_functional_tests: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker] - needs: [config_workflow, fast_test, build_amd_debug] + needs: [build_amd_debug, config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'UXVpY2sgZnVuY3Rpb25hbCB0ZXN0cw==') }} name: "Quick functional tests" outputs: @@ -852,7 +833,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -889,23 +870,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Quick functional tests' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Quick functional tests' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Quick functional tests' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_asan_distributed_plan_parallel_1_2: + stateless_tests_amd_asan_distributed_plan_parallel_1_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_asan] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYXNhbiwgZGlzdHJpYnV0ZWQgcGxhbiwgcGFyYWxsZWwsIDEvMik=') }} - name: "Stateless tests (amd_asan, distributed plan, parallel, 1/2)" + needs: [build_amd_asan, config_workflow, fast_test] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYXNhbiwgZGlzdHJpYnV0ZWQgcGxhbiwgcGFyYWxsZWwsIDEvNCk=') }} + name: "Stateless tests (amd_asan, distributed plan, parallel, 1/4)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -914,7 +893,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_asan, distributed plan, parallel, 1/2)" + test_name: "Stateless tests (amd_asan, distributed plan, parallel, 1/4)" - name: Prepare env script run: | @@ -942,23 +921,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_asan, distributed plan, parallel, 1/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_asan, distributed plan, parallel, 1/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_asan, distributed plan, parallel, 1/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_asan_distributed_plan_parallel_2_2: + stateless_tests_amd_asan_distributed_plan_parallel_2_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_asan] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYXNhbiwgZGlzdHJpYnV0ZWQgcGxhbiwgcGFyYWxsZWwsIDIvMik=') }} - name: "Stateless tests (amd_asan, distributed plan, parallel, 2/2)" + needs: [build_amd_asan, config_workflow, fast_test] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYXNhbiwgZGlzdHJpYnV0ZWQgcGxhbiwgcGFyYWxsZWwsIDIvNCk=') }} + name: "Stateless tests (amd_asan, distributed plan, parallel, 2/4)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -967,7 +944,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_asan, distributed plan, parallel, 2/2)" + test_name: "Stateless tests (amd_asan, distributed plan, parallel, 2/4)" - name: Prepare env script run: | @@ -995,23 +972,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_asan, distributed plan, parallel, 2/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_asan, distributed plan, parallel, 2/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_asan, distributed plan, parallel, 2/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_asan_db_disk_distributed_plan_sequential: + stateless_tests_amd_asan_distributed_plan_parallel_3_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYXNhbiwgZGIgZGlzaywgZGlzdHJpYnV0ZWQgcGxhbiwgc2VxdWVudGlhbCk=') }} - name: "Stateless tests (amd_asan, db disk, distributed plan, sequential)" + needs: [build_amd_asan, config_workflow, fast_test] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYXNhbiwgZGlzdHJpYnV0ZWQgcGxhbiwgcGFyYWxsZWwsIDMvNCk=') }} + name: "Stateless tests (amd_asan, distributed plan, parallel, 3/4)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1020,7 +995,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_asan, db disk, distributed plan, sequential)" + test_name: "Stateless tests (amd_asan, distributed plan, parallel, 3/4)" - name: Prepare env script run: | @@ -1048,23 +1023,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_asan, db disk, distributed plan, sequential)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_asan, db disk, distributed plan, sequential)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_asan, distributed plan, parallel, 3/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_parallel: + stateless_tests_amd_asan_distributed_plan_parallel_4_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_binary, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBvbGQgYW5hbHl6ZXIsIHMzIHN0b3JhZ2UsIERhdGFiYXNlUmVwbGljYXRlZCwgcGFyYWxsZWwp') }} - name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)" + needs: [build_amd_asan, config_workflow, fast_test] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYXNhbiwgZGlzdHJpYnV0ZWQgcGxhbiwgcGFyYWxsZWwsIDQvNCk=') }} + name: "Stateless tests (amd_asan, distributed plan, parallel, 4/4)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1073,7 +1046,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)" + test_name: "Stateless tests (amd_asan, distributed plan, parallel, 4/4)" - name: Prepare env script run: | @@ -1090,10 +1063,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_BINARY + - name: Download artifact CH_AMD_ASAN uses: actions/download-artifact@v4 with: - name: CH_AMD_BINARY + name: CH_AMD_ASAN path: ./ci/tmp - name: Run @@ -1101,23 +1074,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_asan, distributed plan, parallel, 4/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_sequential: + stateless_tests_amd_asan_db_disk_distributed_plan_sequential: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_binary, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBvbGQgYW5hbHl6ZXIsIHMzIHN0b3JhZ2UsIERhdGFiYXNlUmVwbGljYXRlZCwgc2VxdWVudGlhbCk=') }} - name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)" + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYXNhbiwgZGIgZGlzaywgZGlzdHJpYnV0ZWQgcGxhbiwgc2VxdWVudGlhbCk=') }} + name: "Stateless tests (amd_asan, db disk, distributed plan, sequential)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1126,7 +1097,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)" + test_name: "Stateless tests (amd_asan, db disk, distributed plan, sequential)" - name: Prepare env script run: | @@ -1143,10 +1114,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_BINARY + - name: Download artifact CH_AMD_ASAN uses: actions/download-artifact@v4 with: - name: CH_AMD_BINARY + name: CH_AMD_ASAN path: ./ci/tmp - name: Run @@ -1154,23 +1125,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_asan, db disk, distributed plan, sequential)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_binary_parallelreplicas_s3_storage_parallel: + stateless_tests_amd_debug_parallel: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_binary, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBQYXJhbGxlbFJlcGxpY2FzLCBzMyBzdG9yYWdlLCBwYXJhbGxlbCk=') }} - name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)" + needs: [build_amd_debug, config_workflow, fast_test] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfZGVidWcsIHBhcmFsbGVsKQ==') }} + name: "Stateless tests (amd_debug, parallel)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1179,7 +1148,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)" + test_name: "Stateless tests (amd_debug, parallel)" - name: Prepare env script run: | @@ -1196,10 +1165,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_BINARY + - name: Download artifact CH_AMD_DEBUG uses: actions/download-artifact@v4 with: - name: CH_AMD_BINARY + name: CH_AMD_DEBUG path: ./ci/tmp - name: Run @@ -1207,23 +1176,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_debug, parallel)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_binary_parallelreplicas_s3_storage_sequential: + stateless_tests_amd_debug_sequential: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_binary, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBQYXJhbGxlbFJlcGxpY2FzLCBzMyBzdG9yYWdlLCBzZXF1ZW50aWFsKQ==') }} - name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)" + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfZGVidWcsIHNlcXVlbnRpYWwp') }} + name: "Stateless tests (amd_debug, sequential)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1232,7 +1199,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)" + test_name: "Stateless tests (amd_debug, sequential)" - name: Prepare env script run: | @@ -1249,10 +1216,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_BINARY + - name: Download artifact CH_AMD_DEBUG uses: actions/download-artifact@v4 with: - name: CH_AMD_BINARY + name: CH_AMD_DEBUG path: ./ci/tmp - name: Run @@ -1260,23 +1227,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_debug, sequential)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_debug_asyncinsert_s3_storage_parallel: + stateless_tests_amd_tsan_parallel_1_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfZGVidWcsIEFzeW5jSW5zZXJ0LCBzMyBzdG9yYWdlLCBwYXJhbGxlbCk=') }} - name: "Stateless tests (amd_debug, AsyncInsert, s3 storage, parallel)" + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgcGFyYWxsZWwsIDEvMik=') }} + name: "Stateless tests (amd_tsan, parallel, 1/2)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1285,7 +1250,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_debug, AsyncInsert, s3 storage, parallel)" + test_name: "Stateless tests (amd_tsan, parallel, 1/2)" - name: Prepare env script run: | @@ -1302,10 +1267,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_DEBUG + - name: Download artifact CH_AMD_TSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_DEBUG + name: CH_AMD_TSAN path: ./ci/tmp - name: Run @@ -1313,23 +1278,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_debug, AsyncInsert, s3 storage, parallel)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_debug, AsyncInsert, s3 storage, parallel)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_tsan, parallel, 1/2)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_debug_asyncinsert_s3_storage_sequential: + stateless_tests_amd_tsan_parallel_2_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfZGVidWcsIEFzeW5jSW5zZXJ0LCBzMyBzdG9yYWdlLCBzZXF1ZW50aWFsKQ==') }} - name: "Stateless tests (amd_debug, AsyncInsert, s3 storage, sequential)" + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgcGFyYWxsZWwsIDIvMik=') }} + name: "Stateless tests (amd_tsan, parallel, 2/2)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1338,7 +1301,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_debug, AsyncInsert, s3 storage, sequential)" + test_name: "Stateless tests (amd_tsan, parallel, 2/2)" - name: Prepare env script run: | @@ -1355,10 +1318,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_DEBUG + - name: Download artifact CH_AMD_TSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_DEBUG + name: CH_AMD_TSAN path: ./ci/tmp - name: Run @@ -1366,23 +1329,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_debug, AsyncInsert, s3 storage, sequential)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_debug, AsyncInsert, s3 storage, sequential)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_tsan, parallel, 2/2)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_debug_parallel: + stateless_tests_amd_tsan_sequential_1_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfZGVidWcsIHBhcmFsbGVsKQ==') }} - name: "Stateless tests (amd_debug, parallel)" + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgc2VxdWVudGlhbCwgMS8yKQ==') }} + name: "Stateless tests (amd_tsan, sequential, 1/2)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1391,7 +1352,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_debug, parallel)" + test_name: "Stateless tests (amd_tsan, sequential, 1/2)" - name: Prepare env script run: | @@ -1408,10 +1369,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_DEBUG + - name: Download artifact CH_AMD_TSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_DEBUG + name: CH_AMD_TSAN path: ./ci/tmp - name: Run @@ -1419,23 +1380,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_debug, parallel)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_debug, parallel)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_tsan, sequential, 1/2)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_debug_sequential: + stateless_tests_amd_tsan_sequential_2_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfZGVidWcsIHNlcXVlbnRpYWwp') }} - name: "Stateless tests (amd_debug, sequential)" + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgc2VxdWVudGlhbCwgMi8yKQ==') }} + name: "Stateless tests (amd_tsan, sequential, 2/2)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1444,7 +1403,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_debug, sequential)" + test_name: "Stateless tests (amd_tsan, sequential, 2/2)" - name: Prepare env script run: | @@ -1461,10 +1420,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_DEBUG + - name: Download artifact CH_AMD_TSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_DEBUG + name: CH_AMD_TSAN path: ./ci/tmp - name: Run @@ -1472,23 +1431,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_debug, sequential)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_debug, sequential)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_tsan, sequential, 2/2)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_tsan_parallel_1_2: + stateless_tests_amd_msan_wasmedge_parallel_1_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgcGFyYWxsZWwsIDEvMik=') }} - name: "Stateless tests (amd_tsan, parallel, 1/2)" + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfbXNhbiwgV2FzbUVkZ2UsIHBhcmFsbGVsLCAxLzQp') }} + name: "Stateless tests (amd_msan, WasmEdge, parallel, 1/4)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1497,7 +1454,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_tsan, parallel, 1/2)" + test_name: "Stateless tests (amd_msan, WasmEdge, parallel, 1/4)" - name: Prepare env script run: | @@ -1514,10 +1471,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_TSAN + - name: Download artifact CH_AMD_MSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_TSAN + name: CH_AMD_MSAN path: ./ci/tmp - name: Run @@ -1525,23 +1482,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_tsan, parallel, 1/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_tsan, parallel, 1/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_msan, WasmEdge, parallel, 1/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_tsan_parallel_2_2: + stateless_tests_amd_msan_wasmedge_parallel_2_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgcGFyYWxsZWwsIDIvMik=') }} - name: "Stateless tests (amd_tsan, parallel, 2/2)" + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfbXNhbiwgV2FzbUVkZ2UsIHBhcmFsbGVsLCAyLzQp') }} + name: "Stateless tests (amd_msan, WasmEdge, parallel, 2/4)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1550,7 +1505,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_tsan, parallel, 2/2)" + test_name: "Stateless tests (amd_msan, WasmEdge, parallel, 2/4)" - name: Prepare env script run: | @@ -1567,10 +1522,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_TSAN + - name: Download artifact CH_AMD_MSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_TSAN + name: CH_AMD_MSAN path: ./ci/tmp - name: Run @@ -1578,23 +1533,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_tsan, parallel, 2/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_tsan, parallel, 2/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_msan, WasmEdge, parallel, 2/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_tsan_sequential_1_2: + stateless_tests_amd_msan_wasmedge_parallel_3_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgc2VxdWVudGlhbCwgMS8yKQ==') }} - name: "Stateless tests (amd_tsan, sequential, 1/2)" + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfbXNhbiwgV2FzbUVkZ2UsIHBhcmFsbGVsLCAzLzQp') }} + name: "Stateless tests (amd_msan, WasmEdge, parallel, 3/4)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1603,7 +1556,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_tsan, sequential, 1/2)" + test_name: "Stateless tests (amd_msan, WasmEdge, parallel, 3/4)" - name: Prepare env script run: | @@ -1620,10 +1573,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_TSAN + - name: Download artifact CH_AMD_MSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_TSAN + name: CH_AMD_MSAN path: ./ci/tmp - name: Run @@ -1631,23 +1584,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_tsan, sequential, 1/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_tsan, sequential, 1/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_msan, WasmEdge, parallel, 3/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_tsan_sequential_2_2: + stateless_tests_amd_msan_wasmedge_parallel_4_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgc2VxdWVudGlhbCwgMi8yKQ==') }} - name: "Stateless tests (amd_tsan, sequential, 2/2)" + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfbXNhbiwgV2FzbUVkZ2UsIHBhcmFsbGVsLCA0LzQp') }} + name: "Stateless tests (amd_msan, WasmEdge, parallel, 4/4)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1656,7 +1607,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_tsan, sequential, 2/2)" + test_name: "Stateless tests (amd_msan, WasmEdge, parallel, 4/4)" - name: Prepare env script run: | @@ -1673,10 +1624,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_TSAN + - name: Download artifact CH_AMD_MSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_TSAN + name: CH_AMD_MSAN path: ./ci/tmp - name: Run @@ -1684,23 +1635,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_tsan, sequential, 2/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_tsan, sequential, 2/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_msan, WasmEdge, parallel, 4/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_msan_parallel_1_2: + stateless_tests_amd_msan_wasmedge_sequential_1_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_msan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfbXNhbiwgcGFyYWxsZWwsIDEvMik=') }} - name: "Stateless tests (amd_msan, parallel, 1/2)" + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfbXNhbiwgV2FzbUVkZ2UsIHNlcXVlbnRpYWwsIDEvMik=') }} + name: "Stateless tests (amd_msan, WasmEdge, sequential, 1/2)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1709,7 +1658,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_msan, parallel, 1/2)" + test_name: "Stateless tests (amd_msan, WasmEdge, sequential, 1/2)" - name: Prepare env script run: | @@ -1737,23 +1686,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_msan, parallel, 1/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_msan, parallel, 1/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_msan, WasmEdge, sequential, 1/2)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_msan_parallel_2_2: + stateless_tests_amd_msan_wasmedge_sequential_2_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_msan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfbXNhbiwgcGFyYWxsZWwsIDIvMik=') }} - name: "Stateless tests (amd_msan, parallel, 2/2)" + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfbXNhbiwgV2FzbUVkZ2UsIHNlcXVlbnRpYWwsIDIvMik=') }} + name: "Stateless tests (amd_msan, WasmEdge, sequential, 2/2)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1762,7 +1709,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_msan, parallel, 2/2)" + test_name: "Stateless tests (amd_msan, WasmEdge, sequential, 2/2)" - name: Prepare env script run: | @@ -1790,23 +1737,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_msan, parallel, 2/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_msan, parallel, 2/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_msan, WasmEdge, sequential, 2/2)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_msan_sequential_1_2: + stateless_tests_amd_ubsan_parallel: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_msan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfbXNhbiwgc2VxdWVudGlhbCwgMS8yKQ==') }} - name: "Stateless tests (amd_msan, sequential, 1/2)" + needs: [build_amd_asan, build_amd_debug, build_amd_ubsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdWJzYW4sIHBhcmFsbGVsKQ==') }} + name: "Stateless tests (amd_ubsan, parallel)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1815,7 +1760,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_msan, sequential, 1/2)" + test_name: "Stateless tests (amd_ubsan, parallel)" - name: Prepare env script run: | @@ -1832,10 +1777,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_MSAN + - name: Download artifact CH_AMD_UBSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_MSAN + name: CH_AMD_UBSAN path: ./ci/tmp - name: Run @@ -1843,23 +1788,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_msan, sequential, 1/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_msan, sequential, 1/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_ubsan, parallel)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_msan_sequential_2_2: + stateless_tests_amd_ubsan_sequential: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_msan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfbXNhbiwgc2VxdWVudGlhbCwgMi8yKQ==') }} - name: "Stateless tests (amd_msan, sequential, 2/2)" + needs: [build_amd_asan, build_amd_debug, build_amd_ubsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdWJzYW4sIHNlcXVlbnRpYWwp') }} + name: "Stateless tests (amd_ubsan, sequential)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1868,7 +1811,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_msan, sequential, 2/2)" + test_name: "Stateless tests (amd_ubsan, sequential)" - name: Prepare env script run: | @@ -1885,10 +1828,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_MSAN + - name: Download artifact CH_AMD_UBSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_MSAN + name: CH_AMD_UBSAN path: ./ci/tmp - name: Run @@ -1896,23 +1839,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_msan, sequential, 2/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_msan, sequential, 2/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_ubsan, sequential)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_ubsan_parallel: + stateless_tests_amd_debug_distributed_plan_s3_storage_parallel: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_ubsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdWJzYW4sIHBhcmFsbGVsKQ==') }} - name: "Stateless tests (amd_ubsan, parallel)" + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfZGVidWcsIGRpc3RyaWJ1dGVkIHBsYW4sIHMzIHN0b3JhZ2UsIHBhcmFsbGVsKQ==') }} + name: "Stateless tests (amd_debug, distributed plan, s3 storage, parallel)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1921,7 +1862,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_ubsan, parallel)" + test_name: "Stateless tests (amd_debug, distributed plan, s3 storage, parallel)" - name: Prepare env script run: | @@ -1938,10 +1879,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_UBSAN + - name: Download artifact CH_AMD_DEBUG uses: actions/download-artifact@v4 with: - name: CH_AMD_UBSAN + name: CH_AMD_DEBUG path: ./ci/tmp - name: Run @@ -1949,23 +1890,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_ubsan, parallel)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_ubsan, parallel)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_debug, distributed plan, s3 storage, parallel)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_ubsan_sequential: + stateless_tests_amd_debug_distributed_plan_s3_storage_sequential: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_ubsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdWJzYW4sIHNlcXVlbnRpYWwp') }} - name: "Stateless tests (amd_ubsan, sequential)" + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfZGVidWcsIGRpc3RyaWJ1dGVkIHBsYW4sIHMzIHN0b3JhZ2UsIHNlcXVlbnRpYWwp') }} + name: "Stateless tests (amd_debug, distributed plan, s3 storage, sequential)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1974,7 +1913,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_ubsan, sequential)" + test_name: "Stateless tests (amd_debug, distributed plan, s3 storage, sequential)" - name: Prepare env script run: | @@ -1991,10 +1930,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_UBSAN + - name: Download artifact CH_AMD_DEBUG uses: actions/download-artifact@v4 with: - name: CH_AMD_UBSAN + name: CH_AMD_DEBUG path: ./ci/tmp - name: Run @@ -2002,23 +1941,21 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_ubsan, sequential)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_ubsan, sequential)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_debug, distributed plan, s3 storage, sequential)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_debug_distributed_plan_s3_storage_parallel: + stateless_tests_amd_tsan_s3_storage_parallel_1_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfZGVidWcsIGRpc3RyaWJ1dGVkIHBsYW4sIHMzIHN0b3JhZ2UsIHBhcmFsbGVsKQ==') }} - name: "Stateless tests (amd_debug, distributed plan, s3 storage, parallel)" + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgczMgc3RvcmFnZSwgcGFyYWxsZWwsIDEvMik=') }} + name: "Stateless tests (amd_tsan, s3 storage, parallel, 1/2)" outputs: data: ${{ steps.run.outputs.DATA }} pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2027,7 +1964,7 @@ jobs: - name: Docker setup uses: ./.github/actions/docker_setup with: - test_name: "Stateless tests (amd_debug, distributed plan, s3 storage, parallel)" + test_name: "Stateless tests (amd_tsan, s3 storage, parallel, 1/2)" - name: Prepare env script run: | @@ -2044,10 +1981,10 @@ jobs: EOF ENV_SETUP_SCRIPT_EOF - - name: Download artifact CH_AMD_DEBUG + - name: Download artifact CH_AMD_TSAN uses: actions/download-artifact@v4 with: - name: CH_AMD_DEBUG + name: CH_AMD_TSAN path: ./ci/tmp - name: Run @@ -2055,121 +1992,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_debug, distributed plan, s3 storage, parallel)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_debug, distributed plan, s3 storage, parallel)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, parallel, 1/2)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log - stateless_tests_amd_debug_distributed_plan_s3_storage_sequential: + stateless_tests_amd_tsan_s3_storage_parallel_2_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfZGVidWcsIGRpc3RyaWJ1dGVkIHBsYW4sIHMzIHN0b3JhZ2UsIHNlcXVlbnRpYWwp') }} - name: "Stateless tests (amd_debug, distributed plan, s3 storage, sequential)" - outputs: - data: ${{ steps.run.outputs.DATA }} - pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ env.CHECKOUT_REF }} - - - name: Setup - uses: ./.github/actions/runner_setup - - name: Docker setup - uses: ./.github/actions/docker_setup - with: - test_name: "Stateless tests (amd_debug, distributed plan, s3 storage, sequential)" - - - name: Prepare env script - run: | - rm -rf ./ci/tmp - mkdir -p ./ci/tmp - cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' - export PYTHONPATH=./ci:.: - - cat > ./ci/tmp/workflow_job.json << 'EOF' - ${{ toJson(job) }} - EOF - cat > ./ci/tmp/workflow_status.json << 'EOF' - ${{ toJson(needs) }} - EOF - ENV_SETUP_SCRIPT_EOF - - - name: Download artifact CH_AMD_DEBUG - uses: actions/download-artifact@v4 - with: - name: CH_AMD_DEBUG - path: ./ci/tmp - - - name: Run - id: run - run: | - . ./ci/tmp/praktika_setup_env.sh - set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_debug, distributed plan, s3 storage, sequential)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_debug, distributed plan, s3 storage, sequential)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi - - stateless_tests_amd_tsan_s3_storage_parallel_1_2: - runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgczMgc3RvcmFnZSwgcGFyYWxsZWwsIDEvMik=') }} - name: "Stateless tests (amd_tsan, s3 storage, parallel, 1/2)" - outputs: - data: ${{ steps.run.outputs.DATA }} - pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ env.CHECKOUT_REF }} - - - name: Setup - uses: ./.github/actions/runner_setup - - name: Docker setup - uses: ./.github/actions/docker_setup - with: - test_name: "Stateless tests (amd_tsan, s3 storage, parallel, 1/2)" - - - name: Prepare env script - run: | - rm -rf ./ci/tmp - mkdir -p ./ci/tmp - cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' - export PYTHONPATH=./ci:.: - - cat > ./ci/tmp/workflow_job.json << 'EOF' - ${{ toJson(job) }} - EOF - cat > ./ci/tmp/workflow_status.json << 'EOF' - ${{ toJson(needs) }} - EOF - ENV_SETUP_SCRIPT_EOF - - - name: Download artifact CH_AMD_TSAN - uses: actions/download-artifact@v4 - with: - name: CH_AMD_TSAN - path: ./ci/tmp - - - name: Run - id: run - run: | - . ./ci/tmp/praktika_setup_env.sh - set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, parallel, 1/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, parallel, 1/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi - - stateless_tests_amd_tsan_s3_storage_parallel_2_2: - runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgczMgc3RvcmFnZSwgcGFyYWxsZWwsIDIvMik=') }} name: "Stateless tests (amd_tsan, s3 storage, parallel, 2/2)" outputs: @@ -2177,7 +2006,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2214,15 +2043,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, parallel, 2/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, parallel, 2/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, parallel, 2/2)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log stateless_tests_amd_tsan_s3_storage_sequential_1_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgczMgc3RvcmFnZSwgc2VxdWVudGlhbCwgMS8yKQ==') }} name: "Stateless tests (amd_tsan, s3 storage, sequential, 1/2)" outputs: @@ -2230,7 +2057,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2267,15 +2094,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, sequential, 1/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, sequential, 1/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, sequential, 1/2)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log stateless_tests_amd_tsan_s3_storage_sequential_2_2: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfdHNhbiwgczMgc3RvcmFnZSwgc2VxdWVudGlhbCwgMi8yKQ==') }} name: "Stateless tests (amd_tsan, s3 storage, sequential, 2/2)" outputs: @@ -2283,7 +2108,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2320,15 +2145,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, sequential, 2/2)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, sequential, 2/2)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (amd_tsan, s3 storage, sequential, 2/2)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log stateless_tests_arm_binary_parallel: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, fast_test, build_arm_binary] + needs: [build_arm_binary, config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYmluYXJ5LCBwYXJhbGxlbCk=') }} name: "Stateless tests (arm_binary, parallel)" outputs: @@ -2336,7 +2159,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2373,15 +2196,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (arm_binary, parallel)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (arm_binary, parallel)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (arm_binary, parallel)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log stateless_tests_arm_binary_sequential: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYmluYXJ5LCBzZXF1ZW50aWFsKQ==') }} name: "Stateless tests (arm_binary, sequential)" outputs: @@ -2389,7 +2210,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2426,15 +2247,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (arm_binary, sequential)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (arm_binary, sequential)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (arm_binary, sequential)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_asan_db_disk_old_analyzer_1_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9hc2FuLCBkYiBkaXNrLCBvbGQgYW5hbHl6ZXIsIDEvNik=') }} name: "Integration tests (amd_asan, db disk, old analyzer, 1/6)" outputs: @@ -2442,7 +2261,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2479,15 +2298,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 1/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 1/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 1/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_asan_db_disk_old_analyzer_2_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9hc2FuLCBkYiBkaXNrLCBvbGQgYW5hbHl6ZXIsIDIvNik=') }} name: "Integration tests (amd_asan, db disk, old analyzer, 2/6)" outputs: @@ -2495,7 +2312,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2532,15 +2349,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 2/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 2/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 2/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_asan_db_disk_old_analyzer_3_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9hc2FuLCBkYiBkaXNrLCBvbGQgYW5hbHl6ZXIsIDMvNik=') }} name: "Integration tests (amd_asan, db disk, old analyzer, 3/6)" outputs: @@ -2548,7 +2363,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2585,15 +2400,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 3/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 3/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 3/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_asan_db_disk_old_analyzer_4_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9hc2FuLCBkYiBkaXNrLCBvbGQgYW5hbHl6ZXIsIDQvNik=') }} name: "Integration tests (amd_asan, db disk, old analyzer, 4/6)" outputs: @@ -2601,7 +2414,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2638,15 +2451,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 4/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 4/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 4/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_asan_db_disk_old_analyzer_5_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9hc2FuLCBkYiBkaXNrLCBvbGQgYW5hbHl6ZXIsIDUvNik=') }} name: "Integration tests (amd_asan, db disk, old analyzer, 5/6)" outputs: @@ -2654,7 +2465,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2691,15 +2502,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 5/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 5/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 5/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_asan_db_disk_old_analyzer_6_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9hc2FuLCBkYiBkaXNrLCBvbGQgYW5hbHl6ZXIsIDYvNik=') }} name: "Integration tests (amd_asan, db disk, old analyzer, 6/6)" outputs: @@ -2707,7 +2516,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2744,15 +2553,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 6/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 6/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_asan, db disk, old analyzer, 6/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_binary_1_5: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_binary, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_binary, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9iaW5hcnksIDEvNSk=') }} name: "Integration tests (amd_binary, 1/5)" outputs: @@ -2760,7 +2567,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2797,15 +2604,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_binary, 1/5)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_binary, 1/5)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_binary, 1/5)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_binary_2_5: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_binary, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_binary, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9iaW5hcnksIDIvNSk=') }} name: "Integration tests (amd_binary, 2/5)" outputs: @@ -2813,7 +2618,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2850,15 +2655,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_binary, 2/5)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_binary, 2/5)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_binary, 2/5)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_binary_3_5: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_binary, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_binary, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9iaW5hcnksIDMvNSk=') }} name: "Integration tests (amd_binary, 3/5)" outputs: @@ -2866,7 +2669,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2903,15 +2706,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_binary, 3/5)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_binary, 3/5)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_binary, 3/5)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_binary_4_5: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_binary, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_binary, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9iaW5hcnksIDQvNSk=') }} name: "Integration tests (amd_binary, 4/5)" outputs: @@ -2919,7 +2720,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -2956,15 +2757,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_binary, 4/5)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_binary, 4/5)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_binary, 4/5)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_binary_5_5: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_binary, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_binary, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9iaW5hcnksIDUvNSk=') }} name: "Integration tests (amd_binary, 5/5)" outputs: @@ -2972,7 +2771,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3009,15 +2808,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_binary, 5/5)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_binary, 5/5)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_binary, 5/5)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_arm_binary_distributed_plan_1_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFybV9iaW5hcnksIGRpc3RyaWJ1dGVkIHBsYW4sIDEvNCk=') }} name: "Integration tests (arm_binary, distributed plan, 1/4)" outputs: @@ -3025,7 +2822,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3062,15 +2859,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 1/4)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 1/4)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 1/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_arm_binary_distributed_plan_2_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFybV9iaW5hcnksIGRpc3RyaWJ1dGVkIHBsYW4sIDIvNCk=') }} name: "Integration tests (arm_binary, distributed plan, 2/4)" outputs: @@ -3078,7 +2873,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3115,15 +2910,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 2/4)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 2/4)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 2/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_arm_binary_distributed_plan_3_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFybV9iaW5hcnksIGRpc3RyaWJ1dGVkIHBsYW4sIDMvNCk=') }} name: "Integration tests (arm_binary, distributed plan, 3/4)" outputs: @@ -3131,7 +2924,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3168,15 +2961,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 3/4)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 3/4)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 3/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_arm_binary_distributed_plan_4_4: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFybV9iaW5hcnksIGRpc3RyaWJ1dGVkIHBsYW4sIDQvNCk=') }} name: "Integration tests (arm_binary, distributed plan, 4/4)" outputs: @@ -3184,7 +2975,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3221,15 +3012,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 4/4)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 4/4)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (arm_binary, distributed plan, 4/4)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_tsan_1_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF90c2FuLCAxLzYp') }} name: "Integration tests (amd_tsan, 1/6)" outputs: @@ -3237,7 +3026,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3274,15 +3063,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_tsan, 1/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_tsan, 1/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_tsan, 1/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_tsan_2_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF90c2FuLCAyLzYp') }} name: "Integration tests (amd_tsan, 2/6)" outputs: @@ -3290,7 +3077,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3327,15 +3114,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_tsan, 2/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_tsan, 2/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_tsan, 2/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_tsan_3_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF90c2FuLCAzLzYp') }} name: "Integration tests (amd_tsan, 3/6)" outputs: @@ -3343,7 +3128,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3380,15 +3165,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_tsan, 3/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_tsan, 3/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_tsan, 3/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_tsan_4_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF90c2FuLCA0LzYp') }} name: "Integration tests (amd_tsan, 4/6)" outputs: @@ -3396,7 +3179,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3433,15 +3216,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_tsan, 4/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_tsan, 4/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_tsan, 4/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_tsan_5_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF90c2FuLCA1LzYp') }} name: "Integration tests (amd_tsan, 5/6)" outputs: @@ -3449,7 +3230,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3486,15 +3267,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_tsan, 5/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_tsan, 5/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_tsan, 5/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log integration_tests_amd_tsan_6_6: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_amd_tsan, build_arm_binary, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_tsan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF90c2FuLCA2LzYp') }} name: "Integration tests (amd_tsan, 6/6)" outputs: @@ -3502,7 +3281,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3539,15 +3318,319 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Integration tests (amd_tsan, 6/6)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Integration tests (amd_tsan, 6/6)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_tsan, 6/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + + integration_tests_amd_msan_1_6: + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9tc2FuLCAxLzYp') }} + name: "Integration tests (amd_msan, 1/6)" + outputs: + data: ${{ steps.run.outputs.DATA }} + pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + ref: ${{ env.CHECKOUT_REF }} + + - name: Setup + uses: ./.github/actions/runner_setup + - name: Docker setup + uses: ./.github/actions/docker_setup + with: + test_name: "Integration tests (amd_msan, 1/6)" + + - name: Prepare env script + run: | + rm -rf ./ci/tmp + mkdir -p ./ci/tmp + cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' + export PYTHONPATH=./ci:.: + + cat > ./ci/tmp/workflow_job.json << 'EOF' + ${{ toJson(job) }} + EOF + cat > ./ci/tmp/workflow_status.json << 'EOF' + ${{ toJson(needs) }} + EOF + ENV_SETUP_SCRIPT_EOF + + - name: Download artifact CH_AMD_MSAN + uses: actions/download-artifact@v4 + with: + name: CH_AMD_MSAN + path: ./ci/tmp + + - name: Run + id: run + run: | + . ./ci/tmp/praktika_setup_env.sh + set -o pipefail + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_msan, 1/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + + integration_tests_amd_msan_2_6: + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9tc2FuLCAyLzYp') }} + name: "Integration tests (amd_msan, 2/6)" + outputs: + data: ${{ steps.run.outputs.DATA }} + pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + ref: ${{ env.CHECKOUT_REF }} + + - name: Setup + uses: ./.github/actions/runner_setup + - name: Docker setup + uses: ./.github/actions/docker_setup + with: + test_name: "Integration tests (amd_msan, 2/6)" + + - name: Prepare env script + run: | + rm -rf ./ci/tmp + mkdir -p ./ci/tmp + cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' + export PYTHONPATH=./ci:.: + + cat > ./ci/tmp/workflow_job.json << 'EOF' + ${{ toJson(job) }} + EOF + cat > ./ci/tmp/workflow_status.json << 'EOF' + ${{ toJson(needs) }} + EOF + ENV_SETUP_SCRIPT_EOF + + - name: Download artifact CH_AMD_MSAN + uses: actions/download-artifact@v4 + with: + name: CH_AMD_MSAN + path: ./ci/tmp + + - name: Run + id: run + run: | + . ./ci/tmp/praktika_setup_env.sh + set -o pipefail + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_msan, 2/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + + integration_tests_amd_msan_3_6: + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9tc2FuLCAzLzYp') }} + name: "Integration tests (amd_msan, 3/6)" + outputs: + data: ${{ steps.run.outputs.DATA }} + pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + ref: ${{ env.CHECKOUT_REF }} + + - name: Setup + uses: ./.github/actions/runner_setup + - name: Docker setup + uses: ./.github/actions/docker_setup + with: + test_name: "Integration tests (amd_msan, 3/6)" + + - name: Prepare env script + run: | + rm -rf ./ci/tmp + mkdir -p ./ci/tmp + cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' + export PYTHONPATH=./ci:.: + + cat > ./ci/tmp/workflow_job.json << 'EOF' + ${{ toJson(job) }} + EOF + cat > ./ci/tmp/workflow_status.json << 'EOF' + ${{ toJson(needs) }} + EOF + ENV_SETUP_SCRIPT_EOF + + - name: Download artifact CH_AMD_MSAN + uses: actions/download-artifact@v4 + with: + name: CH_AMD_MSAN + path: ./ci/tmp + + - name: Run + id: run + run: | + . ./ci/tmp/praktika_setup_env.sh + set -o pipefail + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_msan, 3/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + + integration_tests_amd_msan_4_6: + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9tc2FuLCA0LzYp') }} + name: "Integration tests (amd_msan, 4/6)" + outputs: + data: ${{ steps.run.outputs.DATA }} + pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + ref: ${{ env.CHECKOUT_REF }} + + - name: Setup + uses: ./.github/actions/runner_setup + - name: Docker setup + uses: ./.github/actions/docker_setup + with: + test_name: "Integration tests (amd_msan, 4/6)" + + - name: Prepare env script + run: | + rm -rf ./ci/tmp + mkdir -p ./ci/tmp + cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' + export PYTHONPATH=./ci:.: + + cat > ./ci/tmp/workflow_job.json << 'EOF' + ${{ toJson(job) }} + EOF + cat > ./ci/tmp/workflow_status.json << 'EOF' + ${{ toJson(needs) }} + EOF + ENV_SETUP_SCRIPT_EOF + + - name: Download artifact CH_AMD_MSAN + uses: actions/download-artifact@v4 + with: + name: CH_AMD_MSAN + path: ./ci/tmp + + - name: Run + id: run + run: | + . ./ci/tmp/praktika_setup_env.sh + set -o pipefail + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_msan, 4/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + + integration_tests_amd_msan_5_6: + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9tc2FuLCA1LzYp') }} + name: "Integration tests (amd_msan, 5/6)" + outputs: + data: ${{ steps.run.outputs.DATA }} + pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + ref: ${{ env.CHECKOUT_REF }} + + - name: Setup + uses: ./.github/actions/runner_setup + - name: Docker setup + uses: ./.github/actions/docker_setup + with: + test_name: "Integration tests (amd_msan, 5/6)" + + - name: Prepare env script + run: | + rm -rf ./ci/tmp + mkdir -p ./ci/tmp + cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' + export PYTHONPATH=./ci:.: + + cat > ./ci/tmp/workflow_job.json << 'EOF' + ${{ toJson(job) }} + EOF + cat > ./ci/tmp/workflow_status.json << 'EOF' + ${{ toJson(needs) }} + EOF + ENV_SETUP_SCRIPT_EOF + + - name: Download artifact CH_AMD_MSAN + uses: actions/download-artifact@v4 + with: + name: CH_AMD_MSAN + path: ./ci/tmp + + - name: Run + id: run + run: | + . ./ci/tmp/praktika_setup_env.sh + set -o pipefail + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_msan, 5/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log + + integration_tests_amd_msan_6_6: + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] + needs: [build_amd_asan, build_amd_debug, build_amd_msan, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFtZF9tc2FuLCA2LzYp') }} + name: "Integration tests (amd_msan, 6/6)" + outputs: + data: ${{ steps.run.outputs.DATA }} + pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + ref: ${{ env.CHECKOUT_REF }} + + - name: Setup + uses: ./.github/actions/runner_setup + - name: Docker setup + uses: ./.github/actions/docker_setup + with: + test_name: "Integration tests (amd_msan, 6/6)" + + - name: Prepare env script + run: | + rm -rf ./ci/tmp + mkdir -p ./ci/tmp + cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF' + export PYTHONPATH=./ci:.: + + cat > ./ci/tmp/workflow_job.json << 'EOF' + ${{ toJson(job) }} + EOF + cat > ./ci/tmp/workflow_status.json << 'EOF' + ${{ toJson(needs) }} + EOF + ENV_SETUP_SCRIPT_EOF + + - name: Download artifact CH_AMD_MSAN + uses: actions/download-artifact@v4 + with: + name: CH_AMD_MSAN + path: ./ci/tmp + + - name: Run + id: run + run: | + . ./ci/tmp/praktika_setup_env.sh + set -o pipefail + PYTHONUNBUFFERED=1 python3 -m praktika run 'Integration tests (amd_msan, 6/6)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log unit_tests_asan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_asan] + needs: [build_amd_asan, config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'VW5pdCB0ZXN0cyAoYXNhbik=') }} name: "Unit tests (asan)" outputs: @@ -3555,7 +3638,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3592,15 +3675,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Unit tests (asan)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Unit tests (asan)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Unit tests (asan)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log unit_tests_tsan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_tsan] + needs: [build_amd_tsan, config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'VW5pdCB0ZXN0cyAodHNhbik=') }} name: "Unit tests (tsan)" outputs: @@ -3608,7 +3689,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3645,15 +3726,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Unit tests (tsan)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Unit tests (tsan)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Unit tests (tsan)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log unit_tests_msan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_msan] + needs: [build_amd_msan, config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'VW5pdCB0ZXN0cyAobXNhbik=') }} name: "Unit tests (msan)" outputs: @@ -3661,7 +3740,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3698,15 +3777,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Unit tests (msan)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Unit tests (msan)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Unit tests (msan)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log unit_tests_ubsan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_ubsan] + needs: [build_amd_ubsan, config_workflow, fast_test] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'VW5pdCB0ZXN0cyAodWJzYW4p') }} name: "Unit tests (ubsan)" outputs: @@ -3714,7 +3791,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3751,15 +3828,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Unit tests (ubsan)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Unit tests (ubsan)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Unit tests (ubsan)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log install_packages_amd_release: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, build_amd_release, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_release, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW5zdGFsbCBwYWNrYWdlcyAoYW1kX3JlbGVhc2Up') }} name: "Install packages (amd_release)" outputs: @@ -3767,7 +3842,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3825,15 +3900,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Install packages (amd_release)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Install packages (amd_release)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Install packages (amd_release)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log install_packages_arm_release: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, build_arm_release, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, build_arm_release, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW5zdGFsbCBwYWNrYWdlcyAoYXJtX3JlbGVhc2Up') }} name: "Install packages (arm_release)" outputs: @@ -3841,7 +3914,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3899,15 +3972,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Install packages (arm_release)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Install packages (arm_release)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Install packages (arm_release)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log compatibility_check_amd_release: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, build_amd_release, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_amd_release, build_arm_binary, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'Q29tcGF0aWJpbGl0eSBjaGVjayAoYW1kX3JlbGVhc2Up') }} name: "Compatibility check (amd_release)" outputs: @@ -3915,7 +3986,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -3952,15 +4023,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Compatibility check (amd_release)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Compatibility check (amd_release)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Compatibility check (amd_release)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log compatibility_check_arm_release: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker-aarch64] - needs: [config_workflow, fast_test, build_amd_debug, build_amd_asan, build_arm_binary, build_arm_release, stateless_tests_amd_asan_distributed_plan_parallel_1_2, stateless_tests_amd_asan_distributed_plan_parallel_2_2, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] + needs: [build_amd_asan, build_amd_debug, build_arm_binary, build_arm_release, config_workflow, fast_test, stateless_tests_amd_asan_distributed_plan_parallel_1_4, stateless_tests_amd_asan_distributed_plan_parallel_2_4, stateless_tests_amd_asan_distributed_plan_parallel_3_4, stateless_tests_amd_asan_distributed_plan_parallel_4_4, stateless_tests_amd_debug_parallel, stateless_tests_arm_binary_parallel] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'Q29tcGF0aWJpbGl0eSBjaGVjayAoYXJtX3JlbGVhc2Up') }} name: "Compatibility check (arm_release)" outputs: @@ -3968,7 +4037,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -4005,8 +4074,6 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Compatibility check (arm_release)' --workflow "Community PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Compatibility check (arm_release)' --workflow "Community PR" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Compatibility check (arm_release)' --workflow "Community PR" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log diff --git a/.github/workflows/release_builds.yml b/.github/workflows/release_builds.yml index cc73fbf821b1..b41982bd6983 100644 --- a/.github/workflows/release_builds.yml +++ b/.github/workflows/release_builds.yml @@ -24,6 +24,7 @@ env: ROBOT_TOKEN: ${{ secrets.ROBOT_TOKEN }} + jobs: config_workflow: @@ -35,7 +36,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -82,11 +83,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Config Workflow' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Config Workflow' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Config Workflow' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log dockers_build_amd: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker] @@ -98,7 +97,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -131,11 +130,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Dockers Build (amd)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Dockers Build (amd)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Dockers Build (amd)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log dockers_build_arm: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker-aarch64] @@ -147,7 +144,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -180,11 +177,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Dockers Build (arm)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Dockers Build (arm)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Dockers Build (arm)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log dockers_build_multiplatform_manifest: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker] @@ -196,7 +191,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -229,15 +224,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Dockers Build (multiplatform manifest)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Dockers Build (multiplatform manifest)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Dockers Build (multiplatform manifest)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log build_amd_debug: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_binary, build_arm_binary] + 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] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF9kZWJ1Zyk=') }} name: "Build (amd_debug)" outputs: @@ -245,7 +238,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -278,15 +271,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_debug)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_debug)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_debug)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log build_amd_asan: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_binary, build_arm_binary] + 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] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF9hc2FuKQ==') }} name: "Build (amd_asan)" outputs: @@ -294,7 +285,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -327,15 +318,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_asan)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_asan)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_asan)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log 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, build_amd_binary, build_arm_binary] + 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] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF90c2FuKQ==') }} name: "Build (amd_tsan)" outputs: @@ -343,7 +332,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -376,15 +365,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_tsan)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_tsan)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_tsan)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log 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, build_amd_binary, build_arm_binary] + 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] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF9tc2FuKQ==') }} name: "Build (amd_msan)" outputs: @@ -392,7 +379,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -425,15 +412,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_msan)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_msan)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_msan)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log build_amd_ubsan: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_binary, build_arm_binary] + 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] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF91YnNhbik=') }} name: "Build (amd_ubsan)" outputs: @@ -441,7 +426,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -474,14 +459,12 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_ubsan)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_ubsan)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_ubsan)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log build_amd_binary: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF9iaW5hcnkp') }} name: "Build (amd_binary)" @@ -490,7 +473,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -523,15 +506,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_binary)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_binary)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_binary)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log build_arm_asan: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_binary, build_arm_binary] + needs: [build_amd_binary, build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFybV9hc2FuKQ==') }} name: "Build (arm_asan)" outputs: @@ -539,7 +520,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -572,14 +553,12 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (arm_asan)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (arm_asan)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_asan)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log build_arm_binary: - runs-on: [self-hosted, altinity-on-demand, altinity-builder] + runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFybV9iaW5hcnkp') }} name: "Build (arm_binary)" @@ -588,7 +567,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -621,11 +600,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (arm_binary)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (arm_binary)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_binary)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log build_amd_release: runs-on: [self-hosted, altinity-on-demand, altinity-builder] @@ -637,7 +614,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -670,11 +647,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (amd_release)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (amd_release)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (amd_release)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log build_arm_release: runs-on: [self-hosted, altinity-on-demand, altinity-builder] @@ -686,7 +661,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -719,15 +694,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Build (arm_release)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Build (arm_release)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Build (arm_release)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log docker_server_image: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_release, build_arm_release] + needs: [build_amd_release, build_arm_release, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'RG9ja2VyIHNlcnZlciBpbWFnZQ==') }} name: "Docker server image" outputs: @@ -735,7 +708,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -768,15 +741,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Docker server image' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Docker server image' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Docker server image' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log docker_keeper_image: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_release, build_arm_release] + needs: [build_amd_release, build_arm_release, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'RG9ja2VyIGtlZXBlciBpbWFnZQ==') }} name: "Docker keeper image" outputs: @@ -784,7 +755,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -817,15 +788,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Docker keeper image' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Docker keeper image' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Docker keeper image' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log install_packages_amd_release: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_release] + needs: [build_amd_release, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW5zdGFsbCBwYWNrYWdlcyAoYW1kX3JlbGVhc2Up') }} name: "Install packages (amd_release)" outputs: @@ -833,7 +802,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -866,15 +835,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Install packages (amd_release)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Install packages (amd_release)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Install packages (amd_release)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log install_packages_arm_release: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_arm_release] + needs: [build_arm_release, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'SW5zdGFsbCBwYWNrYWdlcyAoYXJtX3JlbGVhc2Up') }} name: "Install packages (arm_release)" outputs: @@ -882,7 +849,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -915,211 +882,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Install packages (arm_release)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Install packages (arm_release)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi - - stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_parallel: - runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_binary] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBvbGQgYW5hbHl6ZXIsIHMzIHN0b3JhZ2UsIERhdGFiYXNlUmVwbGljYXRlZCwgcGFyYWxsZWwp') }} - name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)" - outputs: - data: ${{ steps.run.outputs.DATA }} - pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ env.CHECKOUT_REF }} - - - name: Setup - uses: ./.github/actions/runner_setup - - name: Docker setup - uses: ./.github/actions/docker_setup - with: - test_name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)" - - - name: Prepare env script - run: | - rm -rf ./ci/tmp - 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 - cat > ./ci/tmp/workflow_status.json << 'EOF' - ${{ toJson(needs) }} - EOF - ENV_SETUP_SCRIPT_EOF - - - name: Run - id: run - run: | - . ./ci/tmp/praktika_setup_env.sh - set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi - - stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_sequential: - runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_binary] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBvbGQgYW5hbHl6ZXIsIHMzIHN0b3JhZ2UsIERhdGFiYXNlUmVwbGljYXRlZCwgc2VxdWVudGlhbCk=') }} - name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)" - outputs: - data: ${{ steps.run.outputs.DATA }} - pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ env.CHECKOUT_REF }} - - - name: Setup - uses: ./.github/actions/runner_setup - - name: Docker setup - uses: ./.github/actions/docker_setup - with: - test_name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)" - - - name: Prepare env script - run: | - rm -rf ./ci/tmp - 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 - cat > ./ci/tmp/workflow_status.json << 'EOF' - ${{ toJson(needs) }} - EOF - ENV_SETUP_SCRIPT_EOF - - - name: Run - id: run - run: | - . ./ci/tmp/praktika_setup_env.sh - set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi - - stateless_tests_amd_binary_parallelreplicas_s3_storage_parallel: - runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_binary] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBQYXJhbGxlbFJlcGxpY2FzLCBzMyBzdG9yYWdlLCBwYXJhbGxlbCk=') }} - name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)" - outputs: - data: ${{ steps.run.outputs.DATA }} - pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ env.CHECKOUT_REF }} - - - name: Setup - uses: ./.github/actions/runner_setup - - name: Docker setup - uses: ./.github/actions/docker_setup - with: - test_name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)" - - - name: Prepare env script - run: | - rm -rf ./ci/tmp - 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 - cat > ./ci/tmp/workflow_status.json << 'EOF' - ${{ toJson(needs) }} - EOF - ENV_SETUP_SCRIPT_EOF - - - name: Run - id: run - run: | - . ./ci/tmp/praktika_setup_env.sh - set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi - - stateless_tests_amd_binary_parallelreplicas_s3_storage_sequential: - runs-on: [self-hosted, altinity-on-demand, altinity-func-tester] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_binary] - if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBQYXJhbGxlbFJlcGxpY2FzLCBzMyBzdG9yYWdlLCBzZXF1ZW50aWFsKQ==') }} - name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)" - outputs: - data: ${{ steps.run.outputs.DATA }} - pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ env.CHECKOUT_REF }} - - - name: Setup - uses: ./.github/actions/runner_setup - - name: Docker setup - uses: ./.github/actions/docker_setup - with: - test_name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)" - - - name: Prepare env script - run: | - rm -rf ./ci/tmp - 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 - cat > ./ci/tmp/workflow_status.json << 'EOF' - ${{ toJson(needs) }} - EOF - ENV_SETUP_SCRIPT_EOF - - - name: Run - id: run - run: | - . ./ci/tmp/praktika_setup_env.sh - set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Install packages (arm_release)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log stateless_tests_arm_binary_parallel: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_arm_binary] + needs: [build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYmluYXJ5LCBwYXJhbGxlbCk=') }} name: "Stateless tests (arm_binary, parallel)" outputs: @@ -1127,7 +896,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1160,15 +929,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (arm_binary, parallel)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (arm_binary, parallel)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (arm_binary, parallel)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log stateless_tests_arm_binary_sequential: runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_arm_binary] + needs: [build_arm_binary, config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest] if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYmluYXJ5LCBzZXF1ZW50aWFsKQ==') }} name: "Stateless tests (arm_binary, sequential)" outputs: @@ -1176,7 +943,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1209,15 +976,13 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Stateless tests (arm_binary, sequential)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Stateless tests (arm_binary, sequential)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Stateless tests (arm_binary, sequential)' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log finish_workflow: runs-on: [self-hosted, altinity-on-demand, altinity-style-checker-aarch64] - needs: [config_workflow, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, build_amd_debug, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_asan, build_arm_binary, build_amd_release, build_arm_release, docker_server_image, docker_keeper_image, install_packages_amd_release, install_packages_arm_release, stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_parallel, stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_sequential, stateless_tests_amd_binary_parallelreplicas_s3_storage_parallel, stateless_tests_amd_binary_parallelreplicas_s3_storage_sequential, stateless_tests_arm_binary_parallel, stateless_tests_arm_binary_sequential] + needs: [build_amd_asan, build_amd_binary, build_amd_debug, build_amd_msan, build_amd_release, build_amd_tsan, build_amd_ubsan, build_arm_asan, build_arm_binary, build_arm_release, config_workflow, docker_keeper_image, docker_server_image, dockers_build_amd, dockers_build_arm, dockers_build_multiplatform_manifest, install_packages_amd_release, install_packages_arm_release, stateless_tests_arm_binary_parallel, stateless_tests_arm_binary_sequential] if: ${{ always() }} name: "Finish Workflow" outputs: @@ -1225,7 +990,7 @@ jobs: pipeline_status: ${{ steps.run.outputs.pipeline_status || 'undefined' }} steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: ref: ${{ env.CHECKOUT_REF }} @@ -1258,11 +1023,9 @@ jobs: run: | . ./ci/tmp/praktika_setup_env.sh set -o pipefail - if command -v ts &> /dev/null; then - python3 -m praktika run 'Finish Workflow' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log - else - python3 -m praktika run 'Finish Workflow' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log - fi + PYTHONUNBUFFERED=1 python3 -m praktika run 'Finish Workflow' --workflow "Release Builds" --ci 2>&1 | python3 -u -c 'import sys,datetime + prefix=lambda: datetime.datetime.now().strftime("[%Y-%m-%d %H:%M:%S]") + for line in sys.stdin: sys.stdout.write(prefix() + " " + line); sys.stdout.flush()' | tee ./ci/tmp/job.log ########################################################################################## ##################################### ALTINITY JOBS ###################################### @@ -1330,10 +1093,6 @@ jobs: - docker_keeper_image - install_packages_amd_release - install_packages_arm_release - - stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_parallel - - stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_sequential - - stateless_tests_amd_binary_parallelreplicas_s3_storage_parallel - - stateless_tests_amd_binary_parallelreplicas_s3_storage_sequential - stateless_tests_arm_binary_parallel - stateless_tests_arm_binary_sequential - finish_workflow diff --git a/ci/praktika/yaml_generator.py b/ci/praktika/yaml_generator.py index 35fd7f225458..15b95f87a7a2 100644 --- a/ci/praktika/yaml_generator.py +++ b/ci/praktika/yaml_generator.py @@ -473,9 +473,9 @@ def _all_needs(job_name: str) -> set: base_template = YamlGenerator.Templates.TEMPLATE_DISPATCH_WORKFLOW format_kwargs = { "DISPATCH_INPUTS": dispatch_inputs, - # "GH_TOKEN_PERMISSIONS": ( - # YamlGenerator.Templates.TEMPLATE_GH_TOKEN_PERMISSIONS - # ), + "GH_TOKEN_PERMISSIONS": ( + YamlGenerator.Templates.TEMPLATE_GH_TOKEN_PERMISSIONS + ), } ENV_CHECKOUT_REFERENCE = ( YamlGenerator.Templates.TEMPLATE_ENV_CHECKOUT_REF_DEFAULT diff --git a/ci/settings/altinity_overrides.py b/ci/settings/altinity_overrides.py index 8a53d25ff94d..c365b25ad191 100644 --- a/ci/settings/altinity_overrides.py +++ b/ci/settings/altinity_overrides.py @@ -65,8 +65,6 @@ class RunnerLabels: "nightly_jepsen.py", "nightly_statistics.py", "VectorSearchStress.py", - "release_builds.py", # FIXME (strtgbb): workflow still needs to be updated for this version - "pull_request_community.py", # FIXME (strtgbb): workflow still needs to be updated for this version ] DEFAULT_LOCAL_TEST_WORKFLOW = "pull_request.py" diff --git a/ci/workflows/pull_request_community.py b/ci/workflows/pull_request_community.py index cd336279f1c6..908c5c763205 100644 --- a/ci/workflows/pull_request_community.py +++ b/ci/workflows/pull_request_community.py @@ -19,6 +19,10 @@ ) ] +STYLE_AND_FAST_TESTS = [ + JobNames.FAST_TEST, +] + PLAIN_FUNCTIONAL_TEST_JOB = [ j for j in JobConfigs.functional_tests_jobs if "amd_debug, parallel" in j.name ][0] @@ -30,13 +34,13 @@ if_condition="github.repository != github.event.pull_request.head.repo.full_name", jobs=[ JobConfigs.fast_test, - *[job.set_dependency([JobNames.FAST_TEST]) for job in JobConfigs.build_jobs], + *[job.set_dependency(STYLE_AND_FAST_TESTS) for job in JobConfigs.build_jobs], *[ - job.set_dependency([JobNames.FAST_TEST]) + job.set_dependency(STYLE_AND_FAST_TESTS) for job in JobConfigs.extra_validation_build_jobs ], *[ - job.set_dependency(FUNCTIONAL_TESTS_PARALLEL_BLOCKING_JOB_NAMES) + job.set_dependency(STYLE_AND_FAST_TESTS) for job in JobConfigs.release_build_jobs ], # *[ @@ -94,6 +98,7 @@ *ArtifactConfigs.clickhouse_tgzs, ArtifactConfigs.fuzzers, ArtifactConfigs.fuzzers_corpus, + ArtifactConfigs.parser_memory_profiler, ], dockers=DOCKERS, disable_dockers_build=True, @@ -119,7 +124,10 @@ "integration": JobConfigs.integration_test_jobs_non_required[ 0 ].name, # plain integration test job, no old analyzer, no dist plan + "fast": "Fast test", "functional": PLAIN_FUNCTIONAL_TEST_JOB.name, + "build_debug": "Build (amd_debug)", + "build": "Build (amd_binary)", }, ) diff --git a/ci/workflows/release_builds.py b/ci/workflows/release_builds.py index 97a965d29a69..8f43804f9166 100644 --- a/ci/workflows/release_builds.py +++ b/ci/workflows/release_builds.py @@ -1,9 +1,16 @@ from praktika import Workflow -from ci.defs.defs import DOCKERS, SECRETS, ArtifactConfigs +from ci.defs.defs import BINARIES_WITH_LONG_RETENTION, DOCKERS, SECRETS, ArtifactConfigs from ci.defs.job_configs import JobConfigs from ci.jobs.scripts.workflow_hooks.filter_job import should_skip_job +# Add long retention tags to subset of artifacts +clickhouse_binaries_with_tags = [] +for artifact in ArtifactConfigs.clickhouse_binaries + ArtifactConfigs.clickhouse_stripped_binaries: + if artifact.name in BINARIES_WITH_LONG_RETENTION: + artifact = artifact.add_tags({"retention": "long"}) + clickhouse_binaries_with_tags.append(artifact) + builds_for_release_branch = [ job.unset_provides("unittest") for job in JobConfigs.build_jobs + JobConfigs.release_build_jobs @@ -41,14 +48,15 @@ ], additional_jobs=["GrypeScan", "SignRelease", "CIReport", "SourceUpload"], artifacts=[ - *ArtifactConfigs.clickhouse_binaries, - *ArtifactConfigs.clickhouse_stripped_binaries, + *clickhouse_binaries_with_tags, *ArtifactConfigs.clickhouse_debians, *ArtifactConfigs.clickhouse_rpms, *ArtifactConfigs.clickhouse_tgzs, + ArtifactConfigs.parser_memory_profiler, ], dockers=DOCKERS, enable_dockers_manifest_merge=True, + set_latest_for_docker_merged_manifest=True, secrets=SECRETS, enable_job_filtering_by_changes=False, enable_cache=False, @@ -62,6 +70,7 @@ pre_hooks=[ "python3 ./ci/jobs/scripts/workflow_hooks/store_data.py", "python3 ./ci/jobs/scripts/workflow_hooks/version_log.py", + "python3 ./ci/jobs/scripts/workflow_hooks/parse_ci_tags.py", ], workflow_filter_hooks=[should_skip_job], post_hooks=[],