23.8.16 Backport of 61971 Crash in Engine Merge if Row Policy does not have expression #1761
This file contains 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
# yamllint disable rule:comments-indentation | |
name: ReleaseBranchCI | |
env: | |
# Force the stdout and stderr streams to be unbuffered | |
PYTHONUNBUFFERED: 1 | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} | |
on: # yamllint disable-line rule:truthy | |
pull_request: | |
types: | |
- synchronize | |
- reopened | |
- opened | |
branches: | |
# Anything/23.8 (e.g customizations/23.8.x) | |
- '**/23.8*' | |
release: | |
types: | |
- published | |
- prereleased | |
push: | |
branches: | |
- 'releases/23.8**' | |
workflow_dispatch: | |
jobs: | |
DockerHubPushAarch64: | |
runs-on: [self-hosted, altinity-on-demand, altinity-type-cax41, altinity-in-hel1, altinity-image-arm-snapshot-22.04-arm, altinity-startup-snapshot, altinity-setup-none] | |
steps: | |
- name: Check out repository code | |
uses: Altinity/checkout@19599efdf36c4f3f30eb55d5bb388896faea69f6 | |
with: | |
clear-repository: true | |
- name: Images check | |
run: | | |
cd "$GITHUB_WORKSPACE/tests/ci" | |
python3 docker_images_check.py --suffix aarch64 | |
env: | |
RUNNER_IP: "$(hostname -I | cut -d ' ' -f 1)" | |
RUNNER_SSH_COMMAND: "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@$(hostname -I | cut -d ' ' -f 1)" | |
- name: Upload images files to artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: changed_images_aarch64 | |
path: ${{ runner.temp }}/docker_images_check/changed_images_aarch64.json | |
DockerHubPushAmd64: | |
runs-on: [self-hosted, altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none] | |
steps: | |
- name: Check out repository code | |
uses: Altinity/checkout@19599efdf36c4f3f30eb55d5bb388896faea69f6 | |
with: | |
clear-repository: true | |
- name: Images check | |
run: | | |
cd "$GITHUB_WORKSPACE/tests/ci" | |
python3 docker_images_check.py --suffix amd64 | |
env: | |
RUNNER_IP: "$(hostname -I | cut -d ' ' -f 1)" | |
RUNNER_SSH_COMMAND: "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@$(hostname -I | cut -d ' ' -f 1)" | |
- name: Upload images files to artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: changed_images_amd64 | |
path: ${{ runner.temp }}/docker_images_check/changed_images_amd64.json | |
DockerHubPush: | |
needs: [DockerHubPushAmd64, DockerHubPushAarch64] | |
runs-on: [self-hosted, altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none] | |
steps: | |
- name: Check out repository code | |
uses: Altinity/checkout@19599efdf36c4f3f30eb55d5bb388896faea69f6 | |
with: | |
clear-repository: true | |
fetch-depth: 0 # to find ancestor merge commits necessary for finding proper docker tags | |
filter: tree:0 | |
- name: Common docker setup | |
uses: ./.github/actions/docker_setup | |
with: | |
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | |
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Download changed aarch64 images | |
uses: actions/download-artifact@v4 | |
with: | |
name: changed_images_aarch64 | |
path: ${{ runner.temp }} | |
- name: Download changed amd64 images | |
uses: actions/download-artifact@v4 | |
with: | |
name: changed_images_amd64 | |
path: ${{ runner.temp }} | |
- name: Images check | |
run: | | |
cd "$GITHUB_WORKSPACE/tests/ci" | |
python3 docker_manifests_merge.py --suffix amd64 --suffix aarch64 | |
- name: Upload images files to artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: changed_images | |
path: ${{ runner.temp }}/changed_images.json | |
CompatibilityCheckX86: | |
needs: [BuilderDebRelease] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Compatibility check X86 | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
timeout_minutes: 180 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 compatibility_check.py --check-name "Compatibility check (amd64)" --check-glibc --check-distributions | |
CompatibilityCheckAarch64: | |
needs: [BuilderDebAarch64] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Compatibility check Aarch64 | |
runner_type: altinity-on-demand, altinity-type-cax41, altinity-image-arm-snapshot-22.04-arm, altinity-startup-snapshot, altinity-setup-none | |
timeout_minutes: 180 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 compatibility_check.py --check-name "Compatibility check (aarch64)" --check-glibc | |
######################################################################################### | |
#################################### ORDINARY BUILDS #################################### | |
######################################################################################### | |
BuilderDebRelease: | |
needs: [DockerHubPush] | |
uses: ./.github/workflows/reusable_build.yml | |
secrets: inherit | |
with: | |
build_name: package_release | |
checkout_depth: 0 | |
timeout_minutes: 180 | |
runner_type: altinity-on-demand, altinity-type-ccx53, altinity-in-hil, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
CLICKHOUSE_STABLE_VERSION_SUFFIX=altinitystable | |
BuilderDebAarch64: | |
needs: [DockerHubPush] | |
uses: ./.github/workflows/reusable_build.yml | |
secrets: inherit | |
with: | |
build_name: package_aarch64 | |
checkout_depth: 0 | |
timeout_minutes: 180 | |
runner_type: altinity-on-demand, altinity-type-ccx53, altinity-in-hil, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
CLICKHOUSE_STABLE_VERSION_SUFFIX=altinitystable | |
BuilderDebAsan: | |
needs: [DockerHubPush] | |
uses: ./.github/workflows/reusable_build.yml | |
secrets: inherit | |
with: | |
build_name: package_asan | |
checkout_depth: 0 | |
timeout_minutes: 180 | |
runner_type: altinity-on-demand, altinity-type-ccx53, altinity-in-hil, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
CLICKHOUSE_STABLE_VERSION_SUFFIX=altinitystable | |
BuilderDebUBsan: | |
needs: [DockerHubPush] | |
uses: ./.github/workflows/reusable_build.yml | |
secrets: inherit | |
with: | |
build_name: package_ubsan | |
checkout_depth: 0 | |
timeout_minutes: 180 | |
runner_type: altinity-on-demand, altinity-type-ccx53, altinity-in-hil, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
CLICKHOUSE_STABLE_VERSION_SUFFIX=altinitystable | |
BuilderDebTsan: | |
needs: [DockerHubPush] | |
uses: ./.github/workflows/reusable_build.yml | |
secrets: inherit | |
with: | |
build_name: package_tsan | |
checkout_depth: 0 | |
timeout_minutes: 180 | |
runner_type: altinity-on-demand, altinity-type-ccx53, altinity-in-hil, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
CLICKHOUSE_STABLE_VERSION_SUFFIX=altinitystable | |
BuilderDebMsan: | |
needs: [DockerHubPush] | |
uses: ./.github/workflows/reusable_build.yml | |
secrets: inherit | |
with: | |
build_name: package_msan | |
checkout_depth: 0 | |
timeout_minutes: 180 | |
runner_type: altinity-on-demand, altinity-type-ccx53, altinity-in-hil, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
CLICKHOUSE_STABLE_VERSION_SUFFIX=altinitystable | |
BuilderDebDebug: | |
needs: [DockerHubPush] | |
uses: ./.github/workflows/reusable_build.yml | |
secrets: inherit | |
with: | |
build_name: package_debug | |
checkout_depth: 0 | |
timeout_minutes: 180 | |
runner_type: altinity-on-demand, altinity-type-ccx53, altinity-in-hil, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
CLICKHOUSE_STABLE_VERSION_SUFFIX=altinitystable | |
############################################################################################ | |
##################################### Docker images ####################################### | |
############################################################################################ | |
DockerServerImages: | |
needs: | |
- BuilderDebRelease | |
- BuilderDebAarch64 | |
runs-on: [self-hosted, altinity-on-demand, altinity-type-cpx41, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none] | |
timeout-minutes: 180 | |
steps: | |
- name: Check out repository code | |
uses: Altinity/checkout@19599efdf36c4f3f30eb55d5bb388896faea69f6 | |
with: | |
clear-repository: true | |
fetch-depth: 0 # It MUST BE THE SAME for all dependencies and the job itself | |
filter: tree:0 | |
- name: Check docker altinityinfra/clickhouse-server building | |
run: | | |
cd "$GITHUB_WORKSPACE/tests/ci" | |
docker buildx create --use | |
python3 docker_server.py --release-type head \ | |
--image-repo altinityinfra/clickhouse-server --image-path docker/server | |
python3 docker_server.py --release-type head \ | |
--image-repo altinityinfra/clickhouse-keeper --image-path docker/keeper | |
- name: Cleanup | |
if: always() | |
run: | | |
docker ps --quiet | xargs --no-run-if-empty docker kill ||: | |
docker ps --all --quiet | xargs --no-run-if-empty docker rm -f ||: | |
sudo rm -fr "$TEMP_PATH" | |
############################################################################################ | |
##################################### BUILD REPORTER ####################################### | |
############################################################################################ | |
BuilderReport: | |
if: ${{ success() || failure() }} | |
needs: | |
- BuilderDebRelease | |
- BuilderDebAarch64 | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: ClickHouse build check | |
runner_type: altinity-on-demand, altinity-type-cax11, altinity-in-hel1, altinity-image-arm-snapshot-22.04-arm, altinity-startup-snapshot, altinity-setup-none | |
timeout_minutes: 180 | |
additional_envs: | | |
NEEDS_DATA<<NDENV | |
${{ toJSON(needs) }} | |
NDENV | |
run_command: | | |
cd "$GITHUB_WORKSPACE/tests/ci" | |
python3 build_report_check.py "$CHECK_NAME" | |
MarkReleaseReady: | |
needs: | |
- BuilderDebRelease | |
- BuilderDebAarch64 | |
- SignRelease | |
runs-on: [self-hosted, altinity-on-demand, altinity-type-cax11, altinity-in-hel1, altinity-image-arm-snapshot-22.04-arm, altinity-startup-snapshot, altinity-setup-none] | |
timeout-minutes: 180 | |
steps: | |
- name: Check out repository code | |
uses: Altinity/checkout@19599efdf36c4f3f30eb55d5bb388896faea69f6 | |
with: | |
clear-repository: true | |
- name: Mark Commit Release Ready | |
run: | | |
cd "$GITHUB_WORKSPACE/tests/ci" | |
python3 mark_release_ready.py | |
############################################################################################ | |
#################################### INSTALL PACKAGES ###################################### | |
############################################################################################ | |
InstallPackagesTestRelease: | |
needs: [BuilderDebRelease] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Install packages (amd64) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 install_check.py "$CHECK_NAME" | |
InstallPackagesTestAarch64: | |
needs: [BuilderDebAarch64] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Install packages (arm64) | |
runner_type: altinity-on-demand, altinity-type-cax41, altinity-image-arm-snapshot-22.04-arm, altinity-startup-snapshot, altinity-setup-none | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 install_check.py "$CHECK_NAME" | |
############################################################################################## | |
########################### FUNCTIONAl STATELESS TESTS ####################################### | |
############################################################################################## | |
FunctionalStatelessTestRelease: | |
needs: [BuilderDebRelease] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateless tests (release) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=10800 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatelessTestAarch64: | |
needs: [BuilderDebAarch64] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateless tests (aarch64) | |
runner_type: altinity-on-demand, altinity-type-cax41, altinity-in-hel1, altinity-image-arm-snapshot-22.04-arm, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=10800 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatelessTestAsan: | |
needs: [BuilderDebAsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateless tests (asan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=10800 | |
batches: 4 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatelessTestTsan: | |
needs: [BuilderDebTsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateless tests (tsan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=10800 | |
batches: 4 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatelessTestUBsan: | |
needs: [BuilderDebUBsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateless tests (ubsan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=10800 | |
batches: 4 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatelessTestMsan: | |
needs: [BuilderDebMsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateless tests (msan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=10800 | |
batches: 4 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatelessTestDebug: | |
needs: [BuilderDebDebug] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateless tests (debug) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=10800 | |
batches: 4 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
############################################################################################## | |
############################ FUNCTIONAl STATEFUL TESTS ####################################### | |
############################################################################################## | |
FunctionalStatefulTestRelease: | |
needs: [BuilderDebRelease] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateful tests (release) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=3600 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatefulTestAarch64: | |
needs: [BuilderDebAarch64] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateful tests (aarch64) | |
runner_type: altinity-on-demand, altinity-type-cax41, altinity-in-hel1, altinity-image-arm-snapshot-22.04-arm, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=3600 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatefulTestAsan: | |
needs: [BuilderDebAsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateful tests (asan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=3600 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatefulTestTsan: | |
needs: [BuilderDebTsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateful tests (tsan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=3600 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatefulTestMsan: | |
needs: [BuilderDebMsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateful tests (msan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=3600 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatefulTestUBsan: | |
needs: [BuilderDebUBsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateful tests (ubsan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=3600 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
FunctionalStatefulTestDebug: | |
needs: [BuilderDebDebug] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stateful tests (debug) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
additional_envs: | | |
KILL_TIMEOUT=3600 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT" | |
############################################################################################## | |
######################################### STRESS TESTS ####################################### | |
############################################################################################## | |
StressTestAsan: | |
needs: [BuilderDebAsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stress test (asan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
timeout_minutes: 180 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 stress_check.py "$CHECK_NAME" | |
StressTestTsan: | |
needs: [BuilderDebTsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stress test (tsan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
timeout_minutes: 180 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 stress_check.py "$CHECK_NAME" | |
StressTestMsan: | |
needs: [BuilderDebMsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stress test (msan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 stress_check.py "$CHECK_NAME" | |
StressTestUBsan: | |
needs: [BuilderDebUBsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stress test (ubsan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
timeout_minutes: 180 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 stress_check.py "$CHECK_NAME" | |
StressTestDebug: | |
needs: [BuilderDebDebug] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Stress test (debug) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
timeout_minutes: 180 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 stress_check.py "$CHECK_NAME" | |
############################################################################################# | |
############################# INTEGRATION TESTS ############################################# | |
############################################################################################# | |
IntegrationTestsAsan: | |
needs: [BuilderDebAsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Integration tests (asan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
batches: 4 | |
timeout_minutes: 180 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 integration_test_check.py "$CHECK_NAME" | |
IntegrationTestsAnalyzerAsan: | |
needs: [BuilderDebAsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Integration tests (asan, analyzer) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
batches: 6 | |
timeout_minutes: 180 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 integration_test_check.py "$CHECK_NAME" | |
IntegrationTestsTsan: | |
needs: [BuilderDebTsan] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Integration tests (tsan) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
batches: 6 | |
timeout_minutes: 180 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 integration_test_check.py "$CHECK_NAME" | |
IntegrationTestsRelease: | |
needs: [BuilderDebRelease] | |
uses: ./.github/workflows/reusable_test.yml | |
secrets: inherit | |
with: | |
test_name: Integration tests (release) | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none | |
batches: 6 | |
timeout_minutes: 180 | |
run_command: | | |
cd "$REPO_COPY/tests/ci" | |
python3 integration_test_check.py "$CHECK_NAME" | |
############################################################################################# | |
##################################### REGRESSION TESTS ###################################### | |
############################################################################################# | |
RegressionTestsRelease: | |
needs: [BuilderReport] | |
uses: ./.github/workflows/regression.yml | |
secrets: inherit | |
with: | |
runner_type: altinity-on-demand, altinity-type-cpx51, altinity-image-x86-app-docker-ce, altinity-setup-regression | |
commit: 91b2de501b77cd90ae9345abb7b56e5fa8c1a921 | |
arch: release | |
build_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | |
RegressionTestsAarch64: | |
needs: [BuilderReport] | |
uses: ./.github/workflows/regression.yml | |
secrets: inherit | |
with: | |
runner_type: altinity-on-demand, altinity-type-cax41, altinity-image-arm-app-docker-ce, altinity-setup-regression | |
commit: 91b2de501b77cd90ae9345abb7b56e5fa8c1a921 | |
arch: aarch64 | |
build_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} | |
SignRelease: | |
needs: [BuilderDebRelease] | |
runs-on: [self-hosted, altinity-on-demand, altinity-type-cax11, altinity-image-arm-snapshot-22.04-arm, altinity-startup-snapshot, altinity-setup-none] | |
timeout-minutes: 180 | |
steps: | |
- name: Set envs | |
run: | | |
cat >> "$GITHUB_ENV" << 'EOF' | |
TEMP_PATH=${{runner.temp}}/signed | |
REPORTS_PATH=${{runner.temp}}/reports_dir | |
EOF | |
- name: Clear repository | |
run: | | |
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Download json reports | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: build_report_package_release | |
path: ${{ env.REPORTS_PATH }} | |
- name: Sign release | |
env: | |
GPG_BINARY_SIGNING_KEY: ${{ secrets.GPG_BINARY_SIGNING_KEY }} | |
GPG_BINARY_SIGNING_PASSPHRASE: ${{ secrets.GPG_BINARY_SIGNING_PASSPHRASE }} | |
REPORTS_PATH: ${{ env.REPORTS_PATH }} | |
run: | | |
cd "$GITHUB_WORKSPACE/tests/ci" | |
python3 sign_release.py | |
- name: Upload signed hashes | |
uses: actions/upload-artifact@v4 | |
with: | |
name: signed-release-hashes | |
path: ${{ env.TEMP_PATH }}/*.gpg | |
- name: Cleanup | |
if: always() | |
run: | | |
docker ps --quiet | xargs --no-run-if-empty docker kill ||: | |
docker ps --all --quiet | xargs --no-run-if-empty docker rm -f ||: | |
sudo rm -fr "$TEMP_PATH" | |
SignAarch64: | |
needs: [BuilderDebAarch64] | |
runs-on: [self-hosted, altinity-on-demand, altinity-type-cax11, altinity-image-arm-snapshot-22.04-arm, altinity-startup-snapshot, altinity-setup-none] | |
timeout-minutes: 180 | |
steps: | |
- name: Set envs | |
run: | | |
cat >> "$GITHUB_ENV" << 'EOF' | |
CHECK_NAME=Sign aarch64 | |
TEMP_PATH=${{runner.temp}}/signed | |
REPORTS_PATH=${{runner.temp}}/reports_dir | |
EOF | |
- name: Clear repository | |
run: | | |
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Download json reports | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: build_report_package_aarch64 | |
path: ${{ env.REPORTS_PATH }} | |
- name: Sign aarch64 | |
env: | |
GPG_BINARY_SIGNING_KEY: ${{ secrets.GPG_BINARY_SIGNING_KEY }} | |
GPG_BINARY_SIGNING_PASSPHRASE: ${{ secrets.GPG_BINARY_SIGNING_PASSPHRASE }} | |
REPORTS_PATH: ${{ env.REPORTS_PATH }} | |
run: | | |
cd "$GITHUB_WORKSPACE/tests/ci" | |
python3 sign_release.py | |
- name: Upload signed hashes | |
uses: actions/upload-artifact@v4 | |
with: | |
name: signed-aarch64-hashes | |
path: ${{ env.TEMP_PATH }}/*.gpg | |
- name: Cleanup | |
if: always() | |
run: | | |
docker ps --quiet | xargs --no-run-if-empty docker kill ||: | |
docker ps --all --quiet | xargs --no-run-if-empty docker rm -f ||: | |
sudo rm -fr "$TEMP_PATH" | |
########################################################################################### | |
################################ FINISH CHECK ############################################# | |
########################################################################################### | |
FinishCheck: | |
needs: | |
- DockerHubPush | |
- DockerServerImages | |
- BuilderReport | |
- MarkReleaseReady | |
- FunctionalStatelessTestDebug | |
- FunctionalStatelessTestRelease | |
- FunctionalStatelessTestAarch64 | |
- FunctionalStatelessTestAsan | |
- FunctionalStatelessTestTsan | |
- FunctionalStatelessTestMsan | |
- FunctionalStatelessTestUBsan | |
- FunctionalStatefulTestDebug | |
- FunctionalStatefulTestRelease | |
- FunctionalStatefulTestAarch64 | |
- FunctionalStatefulTestAsan | |
- FunctionalStatefulTestTsan | |
- FunctionalStatefulTestMsan | |
- FunctionalStatefulTestUBsan | |
- StressTestDebug | |
- StressTestAsan | |
- StressTestTsan | |
- StressTestMsan | |
- StressTestUBsan | |
- IntegrationTestsAsan | |
- IntegrationTestsTsan | |
- IntegrationTestsRelease | |
- CompatibilityCheckX86 | |
- CompatibilityCheckAarch64 | |
- RegressionTestsRelease | |
- RegressionTestsAarch64 | |
- SignRelease | |
- SignAarch64 | |
runs-on: [self-hosted, altinity-on-demand, altinity-type-cpx41, altinity-in-ash, altinity-image-x86-snapshot-22.04-amd, altinity-startup-snapshot, altinity-setup-none] | |
steps: | |
- name: Check out repository code | |
uses: Altinity/checkout@19599efdf36c4f3f30eb55d5bb388896faea69f6 | |
with: | |
clear-repository: true | |
- name: Finish label | |
run: | | |
cd "$GITHUB_WORKSPACE/tests/ci" | |
python3 finish_check.py |