diff --git a/.github/actions/create_workflow_report/create_workflow_report.py b/.github/actions/create_workflow_report/create_workflow_report.py
index 580e27ed9ec5..741272685678 100755
--- a/.github/actions/create_workflow_report/create_workflow_report.py
+++ b/.github/actions/create_workflow_report/create_workflow_report.py
@@ -148,9 +148,9 @@ def get_run_details(run_url: str) -> dict:
return response.json()
-def get_checks_fails(client: Client, job_url: str):
+def get_checks_fails(client: Client, commit_sha: str, branch_name: str):
"""
- Get tests that did not succeed for the given job URL.
+ Get tests that did not succeed for the given commit and branch.
Exclude checks that have status 'error' as they are counted in get_checks_errors.
"""
query = f"""SELECT job_status, job_name, status as test_status, test_name, results_link
@@ -163,19 +163,21 @@ def get_checks_fails(client: Client, job_url: str):
report_url as results_link,
task_url
FROM `gh-data`.checks
+ WHERE commit_sha='{commit_sha}'
GROUP BY check_name, test_name, report_url, task_url
)
- WHERE task_url LIKE '{job_url}%'
- AND test_status IN ('FAIL', 'ERROR')
+ WHERE test_status IN ('FAIL', 'ERROR')
AND job_status!='error'
ORDER BY job_name, test_name
"""
return client.query_dataframe(query)
-def get_checks_known_fails(client: Client, job_url: str, known_fails: dict):
+def get_checks_known_fails(
+ client: Client, commit_sha: str, branch_name: str, known_fails: dict
+):
"""
- Get tests that are known to fail for the given job URL.
+ Get tests that are known to fail for the given commit and branch.
"""
if len(known_fails) == 0:
return pd.DataFrame()
@@ -190,10 +192,10 @@ def get_checks_known_fails(client: Client, job_url: str, known_fails: dict):
report_url as results_link,
task_url
FROM `gh-data`.checks
+ WHERE commit_sha='{commit_sha}'
GROUP BY check_name, test_name, report_url, task_url
)
- WHERE task_url LIKE '{job_url}%'
- AND test_status='BROKEN'
+ WHERE test_status='BROKEN'
AND test_name IN ({','.join(f"'{test}'" for test in known_fails.keys())})
ORDER BY job_name, test_name
"""
@@ -213,9 +215,9 @@ def get_checks_known_fails(client: Client, job_url: str, known_fails: dict):
return df
-def get_checks_errors(client: Client, job_url: str):
+def get_checks_errors(client: Client, commit_sha: str, branch_name: str):
"""
- Get checks that have status 'error' for the given job URL.
+ Get checks that have status 'error' for the given commit and branch.
"""
query = f"""SELECT job_status, job_name, status as test_status, test_name, results_link
FROM (
@@ -227,10 +229,10 @@ def get_checks_errors(client: Client, job_url: str):
report_url as results_link,
task_url
FROM `gh-data`.checks
+ WHERE commit_sha='{commit_sha}'
GROUP BY check_name, test_name, report_url, task_url
)
- WHERE task_url LIKE '{job_url}%'
- AND job_status=='error'
+ WHERE job_status=='error'
ORDER BY job_name, test_name
"""
return client.query_dataframe(query)
@@ -431,7 +433,7 @@ def get_cves(pr_number, commit_sha):
def url_to_html_link(url: str) -> str:
if not url:
return ""
- text = url.split("/")[-1].replace("__", "_")
+ text = url.split("/")[-1].split("?")[0]
if not text:
text = "results"
return f'{text}'
@@ -447,7 +449,7 @@ def format_test_status(text: str) -> str:
color = (
"red"
if text.lower().startswith("fail")
- else "orange" if text.lower() in ("error", "broken") else "green"
+ else "orange" if text.lower() in ("error", "broken", "pending") else "green"
)
return f'{text}'
@@ -523,12 +525,15 @@ def main():
settings={"use_numpy": True},
)
+ run_details = get_run_details(args.actions_run_url)
+ branch_name = run_details.get("head_branch", "unknown branch")
+
fail_results = {
"job_statuses": get_commit_statuses(args.commit_sha),
- "checks_fails": get_checks_fails(db_client, args.actions_run_url),
+ "checks_fails": get_checks_fails(db_client, args.commit_sha, branch_name),
"checks_known_fails": [],
"pr_new_fails": [],
- "checks_errors": get_checks_errors(db_client, args.actions_run_url),
+ "checks_errors": get_checks_errors(db_client, args.commit_sha, branch_name),
"regression_fails": get_regression_fails(db_client, args.actions_run_url),
"docker_images_cves": (
[] if not args.cves else get_cves(args.pr_number, args.commit_sha)
@@ -549,12 +554,10 @@ def main():
if known_fails:
fail_results["checks_known_fails"] = get_checks_known_fails(
- db_client, args.actions_run_url, known_fails
+ db_client, args.commit_sha, branch_name, known_fails
)
if args.pr_number == 0:
- run_details = get_run_details(args.actions_run_url)
- branch_name = run_details.get("head_branch", "unknown branch")
pr_info_html = f"Release ({branch_name})"
else:
try:
diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml
index 42cb884ee113..7578b87e6d22 100644
--- a/.github/workflows/pull_request.yml
+++ b/.github/workflows/pull_request.yml
@@ -17,153 +17,18 @@ env:
permissions: write-all
jobs:
-<<<<<<< HEAD
-
- config_workflow:
- runs-on: [self-hosted, altinity-on-demand, altinity-type-cax41, altinity-in-hel1, altinity-image-arm-app-docker-ce]
- needs: []
- name: "Config Workflow"
-||||||| 204fd5b5431
- RunConfig:
- runs-on: [self-hosted, style-checker-aarch64]
-=======
RunConfig:
runs-on: [self-hosted, altinity-on-demand, altinity-type-cax41, altinity-in-hel1, altinity-image-arm-app-docker-ce]
->>>>>>> altinity/antalya
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
-<<<<<<< HEAD
- - name: Checkout code
- uses: actions/checkout@v4
-||||||| 204fd5b5431
- - name: Check out repository code
- uses: ClickHouse/checkout@v1
-=======
- name: Check out repository code
uses: Altinity/checkout@19599efdf36c4f3f30eb55d5bb388896faea69f
->>>>>>> altinity/antalya
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Prepare env script
run: |
-<<<<<<< HEAD
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- EOF
- cat > ./ci/tmp/workflow_status.json << 'EOF'
-||||||| 204fd5b5431
- python3 "$GITHUB_WORKSPACE/tests/ci/ci.py" --infile ${{ runner.temp }}/ci_run_data.json --update-gh-statuses
- BuildDockers:
- needs: [RunConfig]
- if: ${{ !failure() && !cancelled() && toJson(fromJson(needs.RunConfig.outputs.data).docker_data.missing_multi) != '[]' }}
- uses: ./.github/workflows/docker_test_images.yml
- with:
- data: ${{ needs.RunConfig.outputs.data }}
- StyleCheck:
- needs: [RunConfig, BuildDockers]
- if: ${{ !failure() && !cancelled() && contains(fromJson(needs.RunConfig.outputs.data).jobs_data.jobs_to_do, 'Style check')}}
- uses: ./.github/workflows/reusable_test.yml
- with:
- test_name: Style check
- runner_type: style-checker-aarch64
- run_command: |
- python3 style_check.py
- data: ${{ needs.RunConfig.outputs.data }}
- secrets:
- robot_git_token: ${{secrets.ROBOT_CLICKHOUSE_SSH_KEY}}
- FastTest:
- needs: [RunConfig, BuildDockers, StyleCheck]
- if: ${{ !failure() && !cancelled() && contains(fromJson(needs.RunConfig.outputs.data).jobs_data.jobs_to_do, 'Fast test') }}
- uses: ./.github/workflows/reusable_test.yml
- with:
- test_name: Fast test
- runner_type: builder
- data: ${{ needs.RunConfig.outputs.data }}
- run_command: |
- python3 fast_test_check.py
-
- ################################# Main stages #################################
- # for main CI chain
- #
- Builds_1:
- needs: [RunConfig, StyleCheck, FastTest]
- if: ${{ !failure() && !cancelled() && contains(fromJson(needs.RunConfig.outputs.data).stages_data.stages_to_do, 'Builds_1') }}
- # using callable wf (reusable_stage.yml) allows grouping all nested jobs under a tab
- uses: ./.github/workflows/reusable_build_stage.yml
- with:
- stage: Builds_1
- data: ${{ needs.RunConfig.outputs.data }}
- Tests_1:
- needs: [RunConfig, Builds_1]
- if: ${{ !failure() && !cancelled() && contains(fromJson(needs.RunConfig.outputs.data).stages_data.stages_to_do, 'Tests_1') }}
- uses: ./.github/workflows/reusable_test_stage.yml
- with:
- stage: Tests_1
- data: ${{ needs.RunConfig.outputs.data }}
- Builds_2:
- needs: [RunConfig, Builds_1]
- if: ${{ !failure() && !cancelled() && contains(fromJson(needs.RunConfig.outputs.data).stages_data.stages_to_do, 'Builds_2') }}
- uses: ./.github/workflows/reusable_build_stage.yml
- with:
- stage: Builds_2
- data: ${{ needs.RunConfig.outputs.data }}
- # stage for running non-required checks without being blocked by required checks (Test_1) if corresponding settings is selected
- Tests_2_ww:
- needs: [RunConfig, Builds_1]
- if: ${{ !failure() && !cancelled() && contains(fromJson(needs.RunConfig.outputs.data).stages_data.stages_to_do, 'Tests_2_ww') }}
- uses: ./.github/workflows/reusable_test_stage.yml
- with:
- stage: Tests_2_ww
- data: ${{ needs.RunConfig.outputs.data }}
- Tests_2:
- needs: [RunConfig, Builds_1, Tests_1]
- if: ${{ !failure() && !cancelled() && contains(fromJson(needs.RunConfig.outputs.data).stages_data.stages_to_do, 'Tests_2') }}
- uses: ./.github/workflows/reusable_test_stage.yml
- with:
- stage: Tests_2
- data: ${{ needs.RunConfig.outputs.data }}
-
- ################################# Reports #################################
- # Reports should run even if Builds_1/2 fail - run them separately (not in Tests_1/2/3)
- Builds_Report:
- # run report check for failed builds to indicate the CI error
- if: ${{ !cancelled()
- && needs.RunConfig.result == 'success'
- && needs.StyleCheck.result != 'failure'
- && needs.FastTest.result != 'failure'
- && needs.BuildDockers.result != 'failure'
- && contains(fromJson(needs.RunConfig.outputs.data).jobs_data.jobs_to_do, 'Builds') }}
- needs: [RunConfig, BuildDockers, StyleCheck, FastTest, Builds_1, Builds_2]
- uses: ./.github/workflows/reusable_test.yml
- with:
- test_name: Builds
- runner_type: style-checker-aarch64
- data: ${{ needs.RunConfig.outputs.data }}
-
- CheckReadyForMerge:
- if: ${{ !cancelled() }}
- # Test_2 or Test_3 do not have the jobs required for Mergeable check,
- # however, set them as "needs" to get all checks results before the automatic merge occurs.
- needs: [RunConfig, BuildDockers, StyleCheck, FastTest, Builds_1, Builds_2, Builds_Report, Tests_1, Tests_2_ww, Tests_2]
- runs-on: [self-hosted, style-checker-aarch64]
- steps:
- - name: Check out repository code
- uses: ClickHouse/checkout@v1
- with:
- filter: tree:0
- - name: Check and set merge status
- if: ${{ needs.StyleCheck.result == 'success' }}
- run: |
- cd "$GITHUB_WORKSPACE/tests/ci"
- export WORKFLOW_RESULT_FILE="/tmp/workflow_results.json"
- cat > "$WORKFLOW_RESULT_FILE" << 'EOF'
-=======
python3 "$GITHUB_WORKSPACE/tests/ci/ci.py" --infile ${{ runner.temp }}/ci_run_data.json --update-gh-statuses
BuildDockers:
needs: [RunConfig]
@@ -267,28 +132,10 @@ jobs:
cd "$GITHUB_WORKSPACE/tests/ci"
export WORKFLOW_RESULT_FILE="/tmp/workflow_results.json"
cat > "$WORKFLOW_RESULT_FILE" << 'EOF'
->>>>>>> altinity/antalya
${{ toJson(needs) }}
EOF
ENV_SETUP_SCRIPT_EOF
-<<<<<<< HEAD
- - name: Run
- id: run
-||||||| 204fd5b5431
- ################################# Stage Final #################################
- #
- FinishCheck:
- if: ${{ !failure() && !cancelled() }}
- needs: [RunConfig, BuildDockers, StyleCheck, FastTest, Builds_1, Builds_2, Builds_Report, Tests_1, Tests_2_ww, Tests_2]
- runs-on: [self-hosted, style-checker-aarch64]
- steps:
- - name: Check out repository code
- uses: ClickHouse/checkout@v1
- with:
- filter: tree:0
- - name: Finish label
-=======
################################# Stage Final #################################
#
FinishCheck:
@@ -301,7 +148,6 @@ jobs:
with:
filter: tree:0
- name: Finish label
->>>>>>> altinity/antalya
run: |
. ./ci/tmp/praktika_setup_env.sh
set -o pipefail
@@ -311,4357 +157,6 @@ jobs:
python3 -m praktika run 'Config Workflow' --workflow "PR" --ci |& tee ./ci/tmp/job.log
fi
-<<<<<<< HEAD
- dockers_build_arm:
- runs-on: [self-hosted, style-checker-aarch64]
- needs: [config_workflow]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'RG9ja2VycyBCdWlsZCAoYXJtKQ==') }}
- name: "Dockers Build (arm)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Dockers Build (arm)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Dockers Build (arm)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- dockers_build_amd_and_merge:
- runs-on: [self-hosted, style-checker]
- needs: [config_workflow, dockers_build_arm]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'RG9ja2VycyBCdWlsZCAoYW1kKSBhbmQgTWVyZ2U=') }}
- name: "Dockers Build (amd) and Merge"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Dockers Build (amd) and Merge' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Dockers Build (amd) and Merge' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- style_check:
- runs-on: [self-hosted, style-checker-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3R5bGUgY2hlY2s=') }}
- name: "Style check"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Style check' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Style check' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- docs_check:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, style_check]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'RG9jcyBjaGVjaw==') }}
- name: "Docs check"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Docs check' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Docs check' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- fast_test:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'RmFzdCB0ZXN0') }}
- name: "Fast test"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Fast test' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Fast test' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_tidy:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF90aWR5KQ==') }}
- name: "Build (amd_tidy)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_tidy)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_tidy)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_debug:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, style_check, fast_test, build_amd_tidy]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF9kZWJ1Zyk=') }}
- name: "Build (amd_debug)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_debug)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_debug)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_release:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, style_check, fast_test, build_amd_tidy]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF9yZWxlYXNlKQ==') }}
- name: "Build (amd_release)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_release)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_release)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_asan:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, style_check, fast_test, build_amd_tidy]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF9hc2FuKQ==') }}
- name: "Build (amd_asan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_asan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_asan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_tsan:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, style_check, fast_test, build_amd_tidy]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF90c2FuKQ==') }}
- name: "Build (amd_tsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_tsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_tsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_msan:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, style_check, fast_test, build_amd_tidy]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF9tc2FuKQ==') }}
- name: "Build (amd_msan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_msan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_msan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_ubsan:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, style_check, fast_test, build_amd_tidy]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF91YnNhbik=') }}
- name: "Build (amd_ubsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_ubsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_ubsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_binary:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, style_check, fast_test, build_amd_tidy]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF9iaW5hcnkp') }}
- name: "Build (amd_binary)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_binary)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_binary)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_arm_release:
- runs-on: [self-hosted, builder-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, style_check, fast_test, build_amd_tidy]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFybV9yZWxlYXNlKQ==') }}
- name: "Build (arm_release)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (arm_release)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (arm_release)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_arm_asan:
- runs-on: [self-hosted, builder-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, style_check, fast_test, build_amd_tidy]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFybV9hc2FuKQ==') }}
- name: "Build (arm_asan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (arm_asan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (arm_asan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_coverage:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF9jb3ZlcmFnZSk=') }}
- name: "Build (amd_coverage)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_coverage)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_coverage)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_arm_binary:
- runs-on: [self-hosted, builder-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFybV9iaW5hcnkp') }}
- name: "Build (arm_binary)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (arm_binary)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (arm_binary)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_darwin:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF9kYXJ3aW4p') }}
- name: "Build (amd_darwin)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_darwin)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_darwin)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_arm_darwin:
- runs-on: [self-hosted, builder-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFybV9kYXJ3aW4p') }}
- name: "Build (arm_darwin)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (arm_darwin)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (arm_darwin)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_arm_v80compat:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFybV92ODBjb21wYXQp') }}
- name: "Build (arm_v80compat)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (arm_v80compat)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (arm_v80compat)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_freebsd:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF9mcmVlYnNkKQ==') }}
- name: "Build (amd_freebsd)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_freebsd)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_freebsd)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_ppc64le:
- runs-on: [self-hosted, builder-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKHBwYzY0bGUp') }}
- name: "Build (ppc64le)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (ppc64le)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (ppc64le)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_compat:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF9jb21wYXQp') }}
- name: "Build (amd_compat)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_compat)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_compat)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_amd_musl:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGFtZF9tdXNsKQ==') }}
- name: "Build (amd_musl)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (amd_musl)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (amd_musl)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_riscv64:
- runs-on: [self-hosted, builder-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKHJpc2N2NjQp') }}
- name: "Build (riscv64)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (riscv64)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (riscv64)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_s390x:
- runs-on: [self-hosted, builder]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKHMzOTB4KQ==') }}
- name: "Build (s390x)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (s390x)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (s390x)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_loongarch64:
- runs-on: [self-hosted, builder-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGxvb25nYXJjaDY0KQ==') }}
- name: "Build (loongarch64)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (loongarch64)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (loongarch64)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- build_fuzzers:
- runs-on: [self-hosted, builder-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVpbGQgKGZ1enplcnMp') }}
- name: "Build (fuzzers)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Build (fuzzers)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Build (fuzzers)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- unit_tests_binary:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_binary]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VW5pdCB0ZXN0cyAoYmluYXJ5KQ==') }}
- name: "Unit tests (binary)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Unit tests (binary)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Unit tests (binary)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- unit_tests_asan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VW5pdCB0ZXN0cyAoYXNhbik=') }}
- name: "Unit tests (asan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Unit tests (asan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Unit tests (asan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- unit_tests_tsan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VW5pdCB0ZXN0cyAodHNhbik=') }}
- name: "Unit tests (tsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Unit tests (tsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Unit tests (tsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- unit_tests_msan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_msan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VW5pdCB0ZXN0cyAobXNhbik=') }}
- name: "Unit tests (msan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Unit tests (msan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Unit tests (msan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- unit_tests_ubsan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_ubsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VW5pdCB0ZXN0cyAodWJzYW4p') }}
- name: "Unit tests (ubsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Unit tests (ubsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Unit tests (ubsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- docker_server_image:
- runs-on: [self-hosted, style-checker]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'RG9ja2VyIHNlcnZlciBpbWFnZQ==') }}
- name: "Docker server image"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Docker server image' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Docker server image' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- docker_keeper_image:
- runs-on: [self-hosted, style-checker]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'RG9ja2VyIGtlZXBlciBpbWFnZQ==') }}
- name: "Docker keeper image"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Docker keeper image' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Docker keeper image' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- install_packages_release:
- runs-on: [self-hosted, style-checker]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW5zdGFsbCBwYWNrYWdlcyAocmVsZWFzZSk=') }}
- name: "Install packages (release)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Install packages (release)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Install packages (release)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- install_packages_aarch64:
- runs-on: [self-hosted, style-checker-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW5zdGFsbCBwYWNrYWdlcyAoYWFyY2g2NCk=') }}
- name: "Install packages (aarch64)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Install packages (aarch64)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Install packages (aarch64)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- compatibility_check_release:
- runs-on: [self-hosted, style-checker]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'Q29tcGF0aWJpbGl0eSBjaGVjayAocmVsZWFzZSk=') }}
- name: "Compatibility check (release)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Compatibility check (release)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Compatibility check (release)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- compatibility_check_aarch64:
- runs-on: [self-hosted, style-checker-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'Q29tcGF0aWJpbGl0eSBjaGVjayAoYWFyY2g2NCk=') }}
- name: "Compatibility check (aarch64)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Compatibility check (aarch64)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Compatibility check (aarch64)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_asan_1_2:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhc2FuLCAxLzIp') }}
- name: "Stateless tests (asan, 1/2)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (asan, 1/2)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (asan, 1/2)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_asan_2_2:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhc2FuLCAyLzIp') }}
- name: "Stateless tests (asan, 2/2)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (asan, 2/2)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (asan, 2/2)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_release:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChyZWxlYXNlKQ==') }}
- name: "Stateless tests (release)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (release)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (release)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_release_old_analyzer_s3_databasereplicated_1_2:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChyZWxlYXNlLCBvbGQgYW5hbHl6ZXIsIHMzLCBEYXRhYmFzZVJlcGxpY2F0ZWQsIDEvMik=') }}
- name: "Stateless tests (release, old analyzer, s3, DatabaseReplicated, 1/2)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (release, old analyzer, s3, DatabaseReplicated, 1/2)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (release, old analyzer, s3, DatabaseReplicated, 1/2)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_release_old_analyzer_s3_databasereplicated_2_2:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChyZWxlYXNlLCBvbGQgYW5hbHl6ZXIsIHMzLCBEYXRhYmFzZVJlcGxpY2F0ZWQsIDIvMik=') }}
- name: "Stateless tests (release, old analyzer, s3, DatabaseReplicated, 2/2)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (release, old analyzer, s3, DatabaseReplicated, 2/2)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (release, old analyzer, s3, DatabaseReplicated, 2/2)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_release_parallelreplicas_s3_storage:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChyZWxlYXNlLCBQYXJhbGxlbFJlcGxpY2FzLCBzMyBzdG9yYWdlKQ==') }}
- name: "Stateless tests (release, ParallelReplicas, s3 storage)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (release, ParallelReplicas, s3 storage)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (release, ParallelReplicas, s3 storage)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_debug:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChkZWJ1Zyk=') }}
- name: "Stateless tests (debug)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (debug)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (debug)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_tsan_1_3:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzICh0c2FuLCAxLzMp') }}
- name: "Stateless tests (tsan, 1/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (tsan, 1/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (tsan, 1/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_tsan_2_3:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzICh0c2FuLCAyLzMp') }}
- name: "Stateless tests (tsan, 2/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (tsan, 2/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (tsan, 2/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_tsan_3_3:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzICh0c2FuLCAzLzMp') }}
- name: "Stateless tests (tsan, 3/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (tsan, 3/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (tsan, 3/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_msan_1_4:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_msan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChtc2FuLCAxLzQp') }}
- name: "Stateless tests (msan, 1/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (msan, 1/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (msan, 1/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_msan_2_4:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_msan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChtc2FuLCAyLzQp') }}
- name: "Stateless tests (msan, 2/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (msan, 2/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (msan, 2/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_msan_3_4:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_msan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChtc2FuLCAzLzQp') }}
- name: "Stateless tests (msan, 3/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (msan, 3/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (msan, 3/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_msan_4_4:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_msan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChtc2FuLCA0LzQp') }}
- name: "Stateless tests (msan, 4/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (msan, 4/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (msan, 4/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_ubsan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_ubsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzICh1YnNhbik=') }}
- name: "Stateless tests (ubsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (ubsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (ubsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_debug_s3_storage:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChkZWJ1ZywgczMgc3RvcmFnZSk=') }}
- name: "Stateless tests (debug, s3 storage)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (debug, s3 storage)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (debug, s3 storage)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_tsan_s3_storage_1_3:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzICh0c2FuLCBzMyBzdG9yYWdlLCAxLzMp') }}
- name: "Stateless tests (tsan, s3 storage, 1/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (tsan, s3 storage, 1/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (tsan, s3 storage, 1/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_tsan_s3_storage_2_3:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzICh0c2FuLCBzMyBzdG9yYWdlLCAyLzMp') }}
- name: "Stateless tests (tsan, s3 storage, 2/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (tsan, s3 storage, 2/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (tsan, s3 storage, 2/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_tsan_s3_storage_3_3:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzICh0c2FuLCBzMyBzdG9yYWdlLCAzLzMp') }}
- name: "Stateless tests (tsan, s3 storage, 3/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (tsan, s3 storage, 3/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (tsan, s3 storage, 3/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_aarch64:
- runs-on: [self-hosted, func-tester-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhYXJjaDY0KQ==') }}
- name: "Stateless tests (aarch64)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (aarch64)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (aarch64)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_coverage_1_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_coverage, stateless_tests_asan_1_2, stateless_tests_asan_2_2]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChjb3ZlcmFnZSwgMS82KQ==') }}
- name: "Stateless tests (coverage, 1/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (coverage, 1/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (coverage, 1/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_coverage_2_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_coverage, stateless_tests_asan_1_2, stateless_tests_asan_2_2]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChjb3ZlcmFnZSwgMi82KQ==') }}
- name: "Stateless tests (coverage, 2/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (coverage, 2/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (coverage, 2/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_coverage_3_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_coverage, stateless_tests_asan_1_2, stateless_tests_asan_2_2]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChjb3ZlcmFnZSwgMy82KQ==') }}
- name: "Stateless tests (coverage, 3/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (coverage, 3/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (coverage, 3/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_coverage_4_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_coverage, stateless_tests_asan_1_2, stateless_tests_asan_2_2]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChjb3ZlcmFnZSwgNC82KQ==') }}
- name: "Stateless tests (coverage, 4/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (coverage, 4/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (coverage, 4/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_coverage_5_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_coverage, stateless_tests_asan_1_2, stateless_tests_asan_2_2]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChjb3ZlcmFnZSwgNS82KQ==') }}
- name: "Stateless tests (coverage, 5/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (coverage, 5/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (coverage, 5/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_coverage_6_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_coverage, stateless_tests_asan_1_2, stateless_tests_asan_2_2]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChjb3ZlcmFnZSwgNi82KQ==') }}
- name: "Stateless tests (coverage, 6/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (coverage, 6/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (coverage, 6/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- bugfix_validation:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnVnZml4IHZhbGlkYXRpb24=') }}
- name: "Bugfix validation"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Bugfix validation' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Bugfix validation' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stateless_tests_asan_flaky_check:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhc2FuLCBmbGFreSBjaGVjayk=') }}
- name: "Stateless tests (asan, flaky check)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 (asan, flaky check)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stateless tests (asan, flaky check)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_asan_old_analyzer_1_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFzYW4sIG9sZCBhbmFseXplciwgMS82KQ==') }}
- name: "Integration tests (asan, old analyzer, 1/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (asan, old analyzer, 1/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (asan, old analyzer, 1/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_asan_old_analyzer_2_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFzYW4sIG9sZCBhbmFseXplciwgMi82KQ==') }}
- name: "Integration tests (asan, old analyzer, 2/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (asan, old analyzer, 2/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (asan, old analyzer, 2/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_asan_old_analyzer_3_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFzYW4sIG9sZCBhbmFseXplciwgMy82KQ==') }}
- name: "Integration tests (asan, old analyzer, 3/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (asan, old analyzer, 3/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (asan, old analyzer, 3/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_asan_old_analyzer_4_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFzYW4sIG9sZCBhbmFseXplciwgNC82KQ==') }}
- name: "Integration tests (asan, old analyzer, 4/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (asan, old analyzer, 4/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (asan, old analyzer, 4/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_asan_old_analyzer_5_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFzYW4sIG9sZCBhbmFseXplciwgNS82KQ==') }}
- name: "Integration tests (asan, old analyzer, 5/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (asan, old analyzer, 5/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (asan, old analyzer, 5/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_asan_old_analyzer_6_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFzYW4sIG9sZCBhbmFseXplciwgNi82KQ==') }}
- name: "Integration tests (asan, old analyzer, 6/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (asan, old analyzer, 6/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (asan, old analyzer, 6/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_release_1_4:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKHJlbGVhc2UsIDEvNCk=') }}
- name: "Integration tests (release, 1/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (release, 1/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (release, 1/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_release_2_4:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKHJlbGVhc2UsIDIvNCk=') }}
- name: "Integration tests (release, 2/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (release, 2/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (release, 2/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_release_3_4:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKHJlbGVhc2UsIDMvNCk=') }}
- name: "Integration tests (release, 3/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (release, 3/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (release, 3/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_release_4_4:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKHJlbGVhc2UsIDQvNCk=') }}
- name: "Integration tests (release, 4/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (release, 4/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (release, 4/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_aarch64_1_4:
- runs-on: [self-hosted, func-tester-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFhcmNoNjQsIDEvNCk=') }}
- name: "Integration tests (aarch64, 1/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (aarch64, 1/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (aarch64, 1/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_aarch64_2_4:
- runs-on: [self-hosted, func-tester-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFhcmNoNjQsIDIvNCk=') }}
- name: "Integration tests (aarch64, 2/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (aarch64, 2/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (aarch64, 2/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_aarch64_3_4:
- runs-on: [self-hosted, func-tester-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFhcmNoNjQsIDMvNCk=') }}
- name: "Integration tests (aarch64, 3/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (aarch64, 3/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (aarch64, 3/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_aarch64_4_4:
- runs-on: [self-hosted, func-tester-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFhcmNoNjQsIDQvNCk=') }}
- name: "Integration tests (aarch64, 4/4)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (aarch64, 4/4)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (aarch64, 4/4)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_tsan_1_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKHRzYW4sIDEvNik=') }}
- name: "Integration tests (tsan, 1/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (tsan, 1/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (tsan, 1/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_tsan_2_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKHRzYW4sIDIvNik=') }}
- name: "Integration tests (tsan, 2/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (tsan, 2/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (tsan, 2/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_tsan_3_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKHRzYW4sIDMvNik=') }}
- name: "Integration tests (tsan, 3/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (tsan, 3/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (tsan, 3/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_tsan_4_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKHRzYW4sIDQvNik=') }}
- name: "Integration tests (tsan, 4/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (tsan, 4/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (tsan, 4/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_tsan_5_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKHRzYW4sIDUvNik=') }}
- name: "Integration tests (tsan, 5/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (tsan, 5/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (tsan, 5/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_tsan_6_6:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKHRzYW4sIDYvNik=') }}
- name: "Integration tests (tsan, 6/6)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (tsan, 6/6)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (tsan, 6/6)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- integration_tests_asan_flaky_check:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW50ZWdyYXRpb24gdGVzdHMgKGFzYW4sIGZsYWt5IGNoZWNrKQ==') }}
- name: "Integration tests (asan, flaky check)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Integration tests (asan, flaky check)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Integration tests (asan, flaky check)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stress_test_debug:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RyZXNzIHRlc3QgKGRlYnVnKQ==') }}
- name: "Stress test (debug)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Stress test (debug)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stress test (debug)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stress_test_tsan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RyZXNzIHRlc3QgKHRzYW4p') }}
- name: "Stress test (tsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Stress test (tsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stress test (tsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stress_test_asan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RyZXNzIHRlc3QgKGFzYW4p') }}
- name: "Stress test (asan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Stress test (asan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stress test (asan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stress_test_ubsan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_ubsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RyZXNzIHRlc3QgKHVic2FuKQ==') }}
- name: "Stress test (ubsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Stress test (ubsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stress test (ubsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- stress_test_msan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_msan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RyZXNzIHRlc3QgKG1zYW4p') }}
- name: "Stress test (msan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Stress test (msan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Stress test (msan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- upgrade_check_asan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VXBncmFkZSBjaGVjayAoYXNhbik=') }}
- name: "Upgrade check (asan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Upgrade check (asan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Upgrade check (asan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- upgrade_check_tsan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VXBncmFkZSBjaGVjayAodHNhbik=') }}
- name: "Upgrade check (tsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Upgrade check (tsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Upgrade check (tsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- upgrade_check_msan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_msan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VXBncmFkZSBjaGVjayAobXNhbik=') }}
- name: "Upgrade check (msan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Upgrade check (msan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Upgrade check (msan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- upgrade_check_debug:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'VXBncmFkZSBjaGVjayAoZGVidWcp') }}
- name: "Upgrade check (debug)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Upgrade check (debug)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Upgrade check (debug)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- ast_fuzzer_debug:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QVNUIGZ1enplciAoZGVidWcp') }}
- name: "AST fuzzer (debug)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'AST fuzzer (debug)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'AST fuzzer (debug)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- ast_fuzzer_asan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QVNUIGZ1enplciAoYXNhbik=') }}
- name: "AST fuzzer (asan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'AST fuzzer (asan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'AST fuzzer (asan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- ast_fuzzer_tsan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QVNUIGZ1enplciAodHNhbik=') }}
- name: "AST fuzzer (tsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'AST fuzzer (tsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'AST fuzzer (tsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- ast_fuzzer_msan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_msan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QVNUIGZ1enplciAobXNhbik=') }}
- name: "AST fuzzer (msan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'AST fuzzer (msan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'AST fuzzer (msan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- ast_fuzzer_ubsan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_ubsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QVNUIGZ1enplciAodWJzYW4p') }}
- name: "AST fuzzer (ubsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'AST fuzzer (ubsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'AST fuzzer (ubsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- buzzhouse_debug:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_debug]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnV6ekhvdXNlIChkZWJ1Zyk=') }}
- name: "BuzzHouse (debug)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'BuzzHouse (debug)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'BuzzHouse (debug)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- buzzhouse_asan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_asan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnV6ekhvdXNlIChhc2FuKQ==') }}
- name: "BuzzHouse (asan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'BuzzHouse (asan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'BuzzHouse (asan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- buzzhouse_tsan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_tsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnV6ekhvdXNlICh0c2FuKQ==') }}
- name: "BuzzHouse (tsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'BuzzHouse (tsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'BuzzHouse (tsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- buzzhouse_msan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_msan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnV6ekhvdXNlIChtc2FuKQ==') }}
- name: "BuzzHouse (msan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'BuzzHouse (msan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'BuzzHouse (msan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- buzzhouse_ubsan:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_ubsan]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'QnV6ekhvdXNlICh1YnNhbik=') }}
- name: "BuzzHouse (ubsan)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'BuzzHouse (ubsan)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'BuzzHouse (ubsan)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- performance_comparison_release_1_3:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'UGVyZm9ybWFuY2UgQ29tcGFyaXNvbiAocmVsZWFzZSwgMS8zKQ==') }}
- name: "Performance Comparison (release, 1/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Performance Comparison (release, 1/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Performance Comparison (release, 1/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- performance_comparison_release_2_3:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'UGVyZm9ybWFuY2UgQ29tcGFyaXNvbiAocmVsZWFzZSwgMi8zKQ==') }}
- name: "Performance Comparison (release, 2/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Performance Comparison (release, 2/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Performance Comparison (release, 2/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- performance_comparison_release_3_3:
- runs-on: [self-hosted, func-tester]
- needs: [config_workflow, dockers_build_amd_and_merge, build_amd_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'UGVyZm9ybWFuY2UgQ29tcGFyaXNvbiAocmVsZWFzZSwgMy8zKQ==') }}
- name: "Performance Comparison (release, 3/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Performance Comparison (release, 3/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Performance Comparison (release, 3/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- performance_comparison_aarch64_1_3:
- runs-on: [self-hosted, func-tester-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'UGVyZm9ybWFuY2UgQ29tcGFyaXNvbiAoYWFyY2g2NCwgMS8zKQ==') }}
- name: "Performance Comparison (aarch64, 1/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Performance Comparison (aarch64, 1/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Performance Comparison (aarch64, 1/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- performance_comparison_aarch64_2_3:
- runs-on: [self-hosted, func-tester-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'UGVyZm9ybWFuY2UgQ29tcGFyaXNvbiAoYWFyY2g2NCwgMi8zKQ==') }}
- name: "Performance Comparison (aarch64, 2/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Performance Comparison (aarch64, 2/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Performance Comparison (aarch64, 2/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- performance_comparison_aarch64_3_3:
- runs-on: [self-hosted, func-tester-aarch64]
- needs: [config_workflow, dockers_build_amd_and_merge, build_arm_release]
- if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'UGVyZm9ybWFuY2UgQ29tcGFyaXNvbiAoYWFyY2g2NCwgMy8zKQ==') }}
- name: "Performance Comparison (aarch64, 3/3)"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Performance Comparison (aarch64, 3/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Performance Comparison (aarch64, 3/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-
- finish_workflow:
- runs-on: [self-hosted, style-checker-aarch64]
- needs: [config_workflow, dockers_build_arm, dockers_build_amd_and_merge, style_check, docs_check, fast_test, build_amd_tidy, build_amd_debug, build_amd_release, build_amd_asan, build_amd_tsan, build_amd_msan, build_amd_ubsan, build_amd_binary, build_arm_release, build_arm_asan, build_amd_coverage, build_arm_binary, build_amd_darwin, build_arm_darwin, build_arm_v80compat, build_amd_freebsd, build_ppc64le, build_amd_compat, build_amd_musl, build_riscv64, build_s390x, build_loongarch64, build_fuzzers, unit_tests_binary, unit_tests_asan, unit_tests_tsan, unit_tests_msan, unit_tests_ubsan, docker_server_image, docker_keeper_image, install_packages_release, install_packages_aarch64, compatibility_check_release, compatibility_check_aarch64, stateless_tests_asan_1_2, stateless_tests_asan_2_2, stateless_tests_release, stateless_tests_release_old_analyzer_s3_databasereplicated_1_2, stateless_tests_release_old_analyzer_s3_databasereplicated_2_2, stateless_tests_release_parallelreplicas_s3_storage, stateless_tests_debug, stateless_tests_tsan_1_3, stateless_tests_tsan_2_3, stateless_tests_tsan_3_3, stateless_tests_msan_1_4, stateless_tests_msan_2_4, stateless_tests_msan_3_4, stateless_tests_msan_4_4, stateless_tests_ubsan, stateless_tests_debug_s3_storage, stateless_tests_tsan_s3_storage_1_3, stateless_tests_tsan_s3_storage_2_3, stateless_tests_tsan_s3_storage_3_3, stateless_tests_aarch64, stateless_tests_coverage_1_6, stateless_tests_coverage_2_6, stateless_tests_coverage_3_6, stateless_tests_coverage_4_6, stateless_tests_coverage_5_6, stateless_tests_coverage_6_6, bugfix_validation, stateless_tests_asan_flaky_check, integration_tests_asan_old_analyzer_1_6, integration_tests_asan_old_analyzer_2_6, integration_tests_asan_old_analyzer_3_6, integration_tests_asan_old_analyzer_4_6, integration_tests_asan_old_analyzer_5_6, integration_tests_asan_old_analyzer_6_6, integration_tests_release_1_4, integration_tests_release_2_4, integration_tests_release_3_4, integration_tests_release_4_4, integration_tests_aarch64_1_4, integration_tests_aarch64_2_4, integration_tests_aarch64_3_4, integration_tests_aarch64_4_4, integration_tests_tsan_1_6, integration_tests_tsan_2_6, integration_tests_tsan_3_6, integration_tests_tsan_4_6, integration_tests_tsan_5_6, integration_tests_tsan_6_6, integration_tests_asan_flaky_check, stress_test_debug, stress_test_tsan, stress_test_asan, stress_test_ubsan, stress_test_msan, upgrade_check_asan, upgrade_check_tsan, upgrade_check_msan, upgrade_check_debug, ast_fuzzer_debug, ast_fuzzer_asan, ast_fuzzer_tsan, ast_fuzzer_msan, ast_fuzzer_ubsan, buzzhouse_debug, buzzhouse_asan, buzzhouse_tsan, buzzhouse_msan, buzzhouse_ubsan, performance_comparison_release_1_3, performance_comparison_release_2_3, performance_comparison_release_3_3, performance_comparison_aarch64_1_3, performance_comparison_aarch64_2_3, performance_comparison_aarch64_3_3]
- if: ${{ !cancelled() }}
- name: "Finish Workflow"
- outputs:
- data: ${{ steps.run.outputs.DATA }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- with:
- ref: ${{ env.CHECKOUT_REF }}
-
- - name: Prepare env script
- run: |
- rm -rf ./ci/tmp ./ci/tmp ./ci/tmp
- mkdir -p ./ci/tmp ./ci/tmp ./ci/tmp
- cat > ./ci/tmp/praktika_setup_env.sh << 'ENV_SETUP_SCRIPT_EOF'
- export PYTHONPATH=./ci:.:
- cat > ./ci/tmp/workflow_config_pr.json << 'EOF'
- ${{ needs.config_workflow.outputs.data }}
- 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 'Finish Workflow' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
- else
- python3 -m praktika run 'Finish Workflow' --workflow "PR" --ci |& tee ./ci/tmp/job.log
- fi
-||||||| 204fd5b5431
-#############################################################################################
-###################################### JEPSEN TESTS #########################################
-#############################################################################################
- # This is special test NOT INCLUDED in FinishCheck
- # When it's skipped, all dependent tasks will be skipped too.
- # DO NOT add it there
- Jepsen:
- # we need concurrency as the job uses dedicated instances in the cloud
- concurrency:
- group: jepsen
- if: ${{ !failure() && !cancelled() && contains(fromJson(needs.RunConfig.outputs.data).jobs_data.jobs_to_do, 'ClickHouse Keeper Jepsen') }}
- needs: [RunConfig, Builds_1]
- uses: ./.github/workflows/reusable_test.yml
- with:
- test_name: ClickHouse Keeper Jepsen
- runner_type: style-checker-aarch64
- data: ${{ needs.RunConfig.outputs.data }}
-=======
#############################################################################################
###################################### JEPSEN TESTS #########################################
#############################################################################################
@@ -4679,4 +174,3 @@ jobs:
test_name: ClickHouse Keeper Jepsen
runner_type: altinity-on-demand, altinity-type-cax41, altinity-in-hel1, altinity-image-arm-app-docker-ce
data: ${{ needs.RunConfig.outputs.data }}
->>>>>>> altinity/antalya
diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml
index 1502654c61a6..965418f820d3 100644
--- a/.github/workflows/regression.yml
+++ b/.github/workflows/regression.yml
@@ -95,7 +95,7 @@ env:
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
CHECKS_DATABASE_HOST: ${{ secrets.CHECKS_DATABASE_HOST }}
CHECKS_DATABASE_USER: ${{ secrets.CLICKHOUSE_TEST_STAT_LOGIN }}
- CHECKS_DATABASE_PASSWORD: ${{ secrets.CLICKHOUSE_TEST_STAT_PASSWORD }}
+ CHECKS_DATABASE_PASSWORD: ${{ secrets.CLICKHOUSE_TEST_STAT_PASSWORD }}
args: --test-to-end
--no-colors
--local
@@ -145,7 +145,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- SUITE: [aes_encryption, aggregate_functions, atomic_insert, base_58, clickhouse_keeper, data_types, datetime64_extended_range, disk_level_encryption, dns, engines, example, extended_precision_data_types, kafka, kerberos, key_value, lightweight_delete, memory, part_moves_between_shards, rbac, selects, session_timezone, ssl_server, tiered_storage, window_functions]
+ SUITE: [aes_encryption, aggregate_functions, atomic_insert, base_58, clickhouse_keeper, data_types, datetime64_extended_range, disk_level_encryption, dns, engines, example, extended_precision_data_types, iceberg, kafka, kerberos, key_value, lightweight_delete, memory, part_moves_between_shards, rbac, selects, session_timezone, ssl_server, swarms, tiered_storage, version, window_functions]
needs: [runner_labels_setup]
runs-on: ${{ fromJson(needs.runner_labels_setup.outputs.runner_labels) }}
timeout-minutes: ${{ inputs.timeout_minutes }}
diff --git a/.github/workflows/release_branches.yml b/.github/workflows/release_branches.yml
index 8c13eba516c3..59a6f5930d54 100644
--- a/.github/workflows/release_branches.yml
+++ b/.github/workflows/release_branches.yml
@@ -437,7 +437,7 @@ jobs:
secrets: inherit
with:
runner_type: altinity-on-demand, altinity-regression-tester
- commit: 88c93f843cd48cd9defc6cec6b98d6b98f94adde
+ commit: 5723e20cbc49b347114c7b90c7316a44dafa5328
arch: release
build_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
timeout_minutes: 300
@@ -448,7 +448,7 @@ jobs:
secrets: inherit
with:
runner_type: altinity-on-demand, altinity-regression-tester-aarch64
- commit: 88c93f843cd48cd9defc6cec6b98d6b98f94adde
+ commit: 5723e20cbc49b347114c7b90c7316a44dafa5328
arch: aarch64
build_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
timeout_minutes: 300
diff --git a/tests/ci/git_helper.py b/tests/ci/git_helper.py
index e24f83de3eda..db7865a679a5 100644
--- a/tests/ci/git_helper.py
+++ b/tests/ci/git_helper.py
@@ -277,7 +277,7 @@ def _commits_since(self, ref_name):
def _update_tags(self, suppress_stderr: bool = False) -> None:
stderr = subprocess.DEVNULL if suppress_stderr else None
- self.latest_tag = self.run("git describe --tags --abbrev=0", stderr=stderr)
+ self.latest_tag = self.run("git describe --tags --abbrev=0 --match='v*'", stderr=stderr)
self.commits_since_latest = self._commits_since(self.latest_tag)
self.latest_upstream_tag = self.run("git describe --tags --abbrev=0 --match='*-*'", stderr=stderr)