Skip to content

Release Builds

Release Builds #3

Workflow file for this run

# generated by praktika
name: Release Builds
on:
workflow_dispatch:
inputs:
no_cache:
description: Run without cache
required: false
type: boolean
default: false
env:
PYTHONUNBUFFERED: 1
DISABLE_CI_CACHE: ${{ github.event.inputs.no_cache || '0' }}
CHECKOUT_REF: ""
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
CLICKHOUSE_TEST_STAT_URL: ${{ secrets.CLICKHOUSE_TEST_STAT_URL }}
CLICKHOUSE_TEST_STAT_LOGIN: ${{ secrets.CLICKHOUSE_TEST_STAT_LOGIN }}
CLICKHOUSE_TEST_STAT_PASSWORD: ${{ secrets.CLICKHOUSE_TEST_STAT_PASSWORD }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
CHECKS_DATABASE_HOST: ${{ secrets.CHECKS_DATABASE_HOST }}
AZURE_STORAGE_KEY: ${{ secrets.AZURE_STORAGE_KEY }}
AZURE_ACCOUNT_NAME: ${{ secrets.AZURE_ACCOUNT_NAME }}
AZURE_CONTAINER_NAME: ${{ secrets.AZURE_CONTAINER_NAME }}
AZURE_STORAGE_ACCOUNT_URL: "https://${{ secrets.AZURE_ACCOUNT_NAME }}.blob.core.windows.net/"
ROBOT_TOKEN: ${{ secrets.ROBOT_TOKEN }}
GH_TOKEN: ${{ github.token }}
jobs:
config_workflow:
runs-on: [self-hosted, altinity-on-demand, altinity-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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Config Workflow"
- name: Note report location to summary
env:
PR_NUMBER: ${{ github.event.pull_request.number || 0 }}
COMMIT_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
run: |
if [ "$PR_NUMBER" -eq 0 ]; then
PREFIX="REFs/$GITHUB_REF_NAME/$COMMIT_SHA"
else
PREFIX="PRs/$PR_NUMBER/$COMMIT_SHA"
fi
REPORT_LINK=https://s3.amazonaws.com/altinity-build-artifacts/$PREFIX/ci_run_report.html
echo "Workflow Run Report: [View Report]($REPORT_LINK)" >> $GITHUB_STEP_SUMMARY
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Config Workflow' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
dockers_build_amd:
runs-on: [self-hosted, altinity-on-demand, altinity-style-checker]
needs: [config_workflow]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'RG9ja2VycyBCdWlsZCAoYW1kKQ==') }}
name: "Dockers Build (amd)"
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Dockers Build (amd)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Dockers Build (amd)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
dockers_build_arm:
runs-on: [self-hosted, altinity-on-demand, altinity-style-checker-aarch64]
needs: [config_workflow]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'RG9ja2VycyBCdWlsZCAoYXJtKQ==') }}
name: "Dockers Build (arm)"
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Dockers Build (arm)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Dockers Build (arm)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
build_amd_debug:
runs-on: [self-hosted, altinity-on-demand, altinity-builder]
needs: [config_workflow, dockers_build_amd, dockers_build_arm]
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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Build (amd_debug)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Build (amd_debug)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
build_amd_release:
runs-on: [self-hosted, altinity-on-demand, altinity-builder]
needs: [config_workflow, dockers_build_amd, dockers_build_arm]
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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Build (amd_release)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Build (amd_release)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
build_amd_asan:
runs-on: [self-hosted, altinity-on-demand, altinity-builder]
needs: [config_workflow, dockers_build_amd, dockers_build_arm]
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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Build (amd_asan)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Build (amd_asan)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
build_amd_tsan:
runs-on: [self-hosted, altinity-on-demand, altinity-builder]
needs: [config_workflow, dockers_build_amd, dockers_build_arm]
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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Build (amd_tsan)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Build (amd_tsan)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
build_amd_msan:
runs-on: [self-hosted, altinity-on-demand, altinity-builder]
needs: [config_workflow, dockers_build_amd, dockers_build_arm]
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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Build (amd_msan)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Build (amd_msan)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
build_amd_ubsan:
runs-on: [self-hosted, altinity-on-demand, altinity-builder]
needs: [config_workflow, dockers_build_amd, dockers_build_arm]
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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Build (amd_ubsan)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Build (amd_ubsan)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
build_amd_binary:
runs-on: [self-hosted, altinity-on-demand, altinity-builder]
needs: [config_workflow, dockers_build_amd, dockers_build_arm]
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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Build (amd_binary)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Build (amd_binary)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
build_arm_release:
runs-on: [self-hosted, altinity-on-demand, altinity-builder]
needs: [config_workflow, dockers_build_amd, dockers_build_arm]
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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Build (arm_release)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Build (arm_release)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
build_arm_binary:
runs-on: [self-hosted, altinity-on-demand, altinity-builder]
needs: [config_workflow, dockers_build_amd, dockers_build_arm]
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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Build (arm_binary)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Build (arm_binary)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
docker_server_image:
runs-on: [self-hosted, altinity-on-demand, altinity-style-checker]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, 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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Docker server image"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Docker server image' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
docker_keeper_image:
runs-on: [self-hosted, altinity-on-demand, altinity-style-checker]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, 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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Docker keeper image"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Docker keeper image' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
install_packages_amd_release:
runs-on: [self-hosted, altinity-on-demand, altinity-func-tester]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, build_amd_release]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW5zdGFsbCBwYWNrYWdlcyAoYW1kX3JlbGVhc2Up') }}
name: "Install packages (amd_release)"
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Install packages (amd_release)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 (amd_release)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Install packages (amd_release)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
install_packages_arm_release:
runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, build_arm_release]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'SW5zdGFsbCBwYWNrYWdlcyAoYXJtX3JlbGVhc2Up') }}
name: "Install packages (arm_release)"
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Install packages (arm_release)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 (arm_release)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Install packages (arm_release)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_parallel:
runs-on: [self-hosted, altinity-on-demand, altinity-func-tester]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, build_amd_binary]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBvbGQgYW5hbHl6ZXIsIHMzIHN0b3JhZ2UsIERhdGFiYXNlUmVwbGljYXRlZCwgcGFyYWxsZWwp') }}
name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)"
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)"
- name: Prepare env script
run: |
rm -rf ./ci/tmp ./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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, parallel)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_sequential:
runs-on: [self-hosted, altinity-on-demand, altinity-func-tester]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, build_amd_binary]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBvbGQgYW5hbHl6ZXIsIHMzIHN0b3JhZ2UsIERhdGFiYXNlUmVwbGljYXRlZCwgc2VxdWVudGlhbCk=') }}
name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)"
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)"
- name: Prepare env script
run: |
rm -rf ./ci/tmp ./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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Stateless tests (amd_binary, old analyzer, s3 storage, DatabaseReplicated, sequential)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
stateless_tests_amd_binary_parallelreplicas_s3_storage_parallel:
runs-on: [self-hosted, altinity-on-demand, altinity-func-tester]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, build_amd_binary]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBQYXJhbGxlbFJlcGxpY2FzLCBzMyBzdG9yYWdlLCBwYXJhbGxlbCk=') }}
name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)"
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)"
- name: Prepare env script
run: |
rm -rf ./ci/tmp ./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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 (amd_binary, ParallelReplicas, s3 storage, parallel)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Stateless tests (amd_binary, ParallelReplicas, s3 storage, parallel)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
stateless_tests_amd_binary_parallelreplicas_s3_storage_sequential:
runs-on: [self-hosted, altinity-on-demand, altinity-func-tester]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, build_amd_binary]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhbWRfYmluYXJ5LCBQYXJhbGxlbFJlcGxpY2FzLCBzMyBzdG9yYWdlLCBzZXF1ZW50aWFsKQ==') }}
name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)"
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)"
- name: Prepare env script
run: |
rm -rf ./ci/tmp ./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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 (amd_binary, ParallelReplicas, s3 storage, sequential)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Stateless tests (amd_binary, ParallelReplicas, s3 storage, sequential)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
stateless_tests_arm_binary_parallel:
runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, build_arm_binary]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYmluYXJ5LCBwYXJhbGxlbCk=') }}
name: "Stateless tests (arm_binary, parallel)"
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Stateless tests (arm_binary, parallel)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 (arm_binary, parallel)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Stateless tests (arm_binary, parallel)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
stateless_tests_arm_binary_sequential:
runs-on: [self-hosted, altinity-on-demand, altinity-func-tester-aarch64]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, build_arm_binary]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'U3RhdGVsZXNzIHRlc3RzIChhcm1fYmluYXJ5LCBzZXF1ZW50aWFsKQ==') }}
name: "Stateless tests (arm_binary, sequential)"
outputs:
data: ${{ steps.run.outputs.DATA }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ env.CHECKOUT_REF }}
- name: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Stateless tests (arm_binary, sequential)"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 (arm_binary, sequential)' --workflow "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Stateless tests (arm_binary, sequential)' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
finish_workflow:
runs-on: [self-hosted, altinity-on-demand, altinity-style-checker-aarch64]
needs: [config_workflow, dockers_build_amd, dockers_build_arm, 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_binary, docker_server_image, docker_keeper_image, install_packages_amd_release, install_packages_arm_release, stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_parallel, stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_sequential, stateless_tests_amd_binary_parallelreplicas_s3_storage_parallel, stateless_tests_amd_binary_parallelreplicas_s3_storage_sequential, stateless_tests_arm_binary_parallel, stateless_tests_arm_binary_sequential]
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: Setup
uses: ./.github/actions/runner_setup
- name: Docker setup
uses: ./.github/actions/docker_setup
with:
test_name: "Finish Workflow"
- 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_inputs.json << 'EOF'
${{ toJson(github.event.inputs) }}
EOF
cat > ./ci/tmp/workflow_config_release_builds.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 "Release Builds" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log
else
python3 -m praktika run 'Finish Workflow' --workflow "Release Builds" --ci |& tee ./ci/tmp/job.log
fi
##########################################################################################
##################################### ALTINITY JOBS ######################################
##########################################################################################
GrypeScanServer:
needs: [config_workflow, docker_server_image]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'RG9ja2VyIHNlcnZlciBpbWFnZQ==') }}
strategy:
fail-fast: false
matrix:
suffix: ['', '-alpine']
uses: ./.github/workflows/grype_scan.yml
secrets: inherit
with:
docker_image: altinityinfra/clickhouse-server
version: ${{ fromJson(needs.config_workflow.outputs.data).custom_data.version.string }}
tag-suffix: ${{ matrix.suffix }}
GrypeScanKeeper:
needs: [config_workflow, docker_keeper_image]
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'RG9ja2VyIGtlZXBlciBpbWFnZQ==') }}
uses: ./.github/workflows/grype_scan.yml
secrets: inherit
with:
docker_image: altinityinfra/clickhouse-keeper
version: ${{ fromJson(needs.config_workflow.outputs.data).custom_data.version.string }}
SignRelease:
needs: [config_workflow, build_amd_release]
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/reusable_sign.yml
secrets: inherit
with:
test_name: Sign release
runner_type: altinity-style-checker
data: ${{ needs.config_workflow.outputs.data }}
SignAarch64:
needs: [config_workflow, build_arm_release]
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/reusable_sign.yml
secrets: inherit
with:
test_name: Sign aarch64
runner_type: altinity-style-checker-aarch64
data: ${{ needs.config_workflow.outputs.data }}
FinishCIReport:
if: ${{ !cancelled() }}
needs:
- config_workflow
- dockers_build_amd
- dockers_build_arm
- 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_binary
- docker_server_image
- docker_keeper_image
- install_packages_amd_release
- install_packages_arm_release
- stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_parallel
- stateless_tests_amd_binary_old_analyzer_s3_storage_databasereplicated_sequential
- stateless_tests_amd_binary_parallelreplicas_s3_storage_parallel
- stateless_tests_amd_binary_parallelreplicas_s3_storage_sequential
- stateless_tests_arm_binary_parallel
- stateless_tests_arm_binary_sequential
- finish_workflow
- GrypeScanServer
- GrypeScanKeeper
- SignRelease
- SignAarch64
runs-on: [self-hosted, altinity-on-demand, altinity-style-checker-aarch64]
steps:
- name: Check out repository code
uses: Altinity/checkout@19599efdf36c4f3f30eb55d5bb388896faea69f6
with:
clear-repository: true
- name: Finalize workflow report
if: ${{ !cancelled() }}
uses: ./.github/actions/create_workflow_report
with:
workflow_config: ${{ needs.config_workflow.outputs.data }}
final: true