[WIP] Add stable file to node mapping in StorageObjectStorageCluster #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # generated by praktika | |
| name: PR | |
| on: | |
| pull_request: | |
| branches: ['master'] | |
| env: | |
| # Force the stdout and stderr streams to be unbuffered | |
| PYTHONUNBUFFERED: 1 | |
| DISABLE_CI_MERGE_COMMIT: ${{ vars.DISABLE_CI_MERGE_COMMIT || '0' }} | |
| DISABLE_CI_CACHE: ${{ vars.DISABLE_CI_CACHE || '0' }} | |
| CHECKOUT_REF: ${{ vars.DISABLE_CI_MERGE_COMMIT == '1' && github.event.pull_request.head.sha || '' }} | |
| # Allow updating GH commit statuses and PR comments to post an actual job reports link | |
| permissions: write-all | |
| jobs: | |
| config_workflow: | |
| runs-on: [self-hosted, style-checker-aarch64] | |
| needs: [] | |
| name: "Config 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 'Config Workflow' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
| else | |
| python3 -m praktika run 'Config Workflow' --workflow "PR" --ci |& tee ./ci/tmp/job.log | |
| fi | |
| 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, 'RG9ja2VycyBidWlsZCAoYXJtKQ==') }} | |
| 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: | |
| 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, 'RG9ja2VycyBidWlsZCAoYW1kKQ==') }} | |
| name: "Dockers build (amd)" | |
| 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)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
| else | |
| python3 -m praktika run 'Dockers build (amd)' --workflow "PR" --ci |& tee ./ci/tmp/job.log | |
| fi | |
| style_check: | |
| runs-on: [self-hosted, style-checker-aarch64] | |
| needs: [config_workflow, dockers_build_amd] | |
| 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, 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] | |
| 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_debug: | |
| runs-on: [self-hosted, builder] | |
| needs: [config_workflow, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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_tidy: | |
| runs-on: [self-hosted, builder] | |
| needs: [config_workflow, style_check, fast_test] | |
| 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_coverage: | |
| runs-on: [self-hosted, builder] | |
| needs: [config_workflow, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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, style_check, fast_test] | |
| 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 | |
| unit_tests_binary: | |
| runs-on: [self-hosted, func-tester] | |
| needs: [config_workflow, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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_coverage_1_6: | |
| runs-on: [self-hosted, func-tester] | |
| needs: [config_workflow, build_amd_coverage] | |
| 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, build_amd_coverage] | |
| 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, build_amd_coverage] | |
| 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, build_amd_coverage] | |
| 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, build_amd_coverage] | |
| 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, build_amd_coverage] | |
| 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 | |
| stateless_tests_debug_s3_storage: | |
| runs-on: [self-hosted, func-tester] | |
| needs: [config_workflow, 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, 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, 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, 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, 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_azure_asan_1_3: | |
| runs-on: [self-hosted, func-tester] | |
| needs: [config_workflow, build_amd_asan] | |
| if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhenVyZSwgYXNhbiwgMS8zKQ==') }} | |
| name: "Stateless tests (azure, asan, 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 (azure, asan, 1/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
| else | |
| python3 -m praktika run 'Stateless tests (azure, asan, 1/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log | |
| fi | |
| stateless_tests_azure_asan_2_3: | |
| runs-on: [self-hosted, func-tester] | |
| needs: [config_workflow, build_amd_asan] | |
| if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhenVyZSwgYXNhbiwgMi8zKQ==') }} | |
| name: "Stateless tests (azure, asan, 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 (azure, asan, 2/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
| else | |
| python3 -m praktika run 'Stateless tests (azure, asan, 2/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log | |
| fi | |
| stateless_tests_azure_asan_3_3: | |
| runs-on: [self-hosted, func-tester] | |
| needs: [config_workflow, build_amd_asan] | |
| if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhenVyZSwgYXNhbiwgMy8zKQ==') }} | |
| name: "Stateless tests (azure, asan, 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 (azure, asan, 3/3)' --workflow "PR" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
| else | |
| python3 -m praktika run 'Stateless tests (azure, asan, 3/3)' --workflow "PR" --ci |& tee ./ci/tmp/job.log | |
| fi | |
| bugfix_validation: | |
| runs-on: [self-hosted, func-tester] | |
| needs: [config_workflow, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, style_check, docs_check, fast_test, 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_tidy, 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, 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_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, 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_azure_asan_1_3, stateless_tests_azure_asan_2_3, stateless_tests_azure_asan_3_3, 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 |