NightlyJepsen #10
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: NightlyJepsen | |
on: | |
schedule: | |
- cron: 13 4 * * * | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }} | |
env: | |
PYTHONUNBUFFERED: 1 | |
CHECKOUT_REF: "" | |
jobs: | |
config_workflow: | |
runs-on: [self-hosted, style-checker-aarch64] | |
needs: [] | |
name: "Config Workflow" | |
outputs: | |
data: ${{ steps.run.outputs.DATA }} | |
pipeline_status: ${{ steps.run.outputs.pipeline_status }} | |
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_status.json << 'EOF' | |
${{ toJson(needs) }} | |
EOF | |
ENV_SETUP_SCRIPT_EOF | |
- name: Run | |
id: run | |
run: | | |
echo "pipeline_status=undefined" >> $GITHUB_OUTPUT | |
. ./ci/tmp/praktika_setup_env.sh | |
set -o pipefail | |
if command -v ts &> /dev/null; then | |
python3 -m praktika run 'Config Workflow' --workflow "NightlyJepsen" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
else | |
python3 -m praktika run 'Config Workflow' --workflow "NightlyJepsen" --ci |& tee ./ci/tmp/job.log | |
fi | |
dockers_build_amd: | |
runs-on: [self-hosted, style-checker] | |
needs: [config_workflow] | |
if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'RG9ja2VycyBCdWlsZCAoYW1kKQ==') }} | |
name: "Dockers Build (amd)" | |
outputs: | |
data: ${{ steps.run.outputs.DATA }} | |
pipeline_status: ${{ steps.run.outputs.pipeline_status }} | |
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_status.json << 'EOF' | |
${{ toJson(needs) }} | |
EOF | |
ENV_SETUP_SCRIPT_EOF | |
- name: Run | |
id: run | |
run: | | |
echo "pipeline_status=undefined" >> $GITHUB_OUTPUT | |
. ./ci/tmp/praktika_setup_env.sh | |
set -o pipefail | |
if command -v ts &> /dev/null; then | |
python3 -m praktika run 'Dockers Build (amd)' --workflow "NightlyJepsen" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
else | |
python3 -m praktika run 'Dockers Build (amd)' --workflow "NightlyJepsen" --ci |& tee ./ci/tmp/job.log | |
fi | |
dockers_build_arm: | |
runs-on: [self-hosted, style-checker-aarch64] | |
needs: [config_workflow] | |
if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'RG9ja2VycyBCdWlsZCAoYXJtKQ==') }} | |
name: "Dockers Build (arm)" | |
outputs: | |
data: ${{ steps.run.outputs.DATA }} | |
pipeline_status: ${{ steps.run.outputs.pipeline_status }} | |
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_status.json << 'EOF' | |
${{ toJson(needs) }} | |
EOF | |
ENV_SETUP_SCRIPT_EOF | |
- name: Run | |
id: run | |
run: | | |
echo "pipeline_status=undefined" >> $GITHUB_OUTPUT | |
. ./ci/tmp/praktika_setup_env.sh | |
set -o pipefail | |
if command -v ts &> /dev/null; then | |
python3 -m praktika run 'Dockers Build (arm)' --workflow "NightlyJepsen" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
else | |
python3 -m praktika run 'Dockers Build (arm)' --workflow "NightlyJepsen" --ci |& tee ./ci/tmp/job.log | |
fi | |
build_amd_binary: | |
runs-on: [self-hosted, amd-large] | |
needs: [config_workflow, dockers_build_amd, dockers_build_arm] | |
if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'QnVpbGQgKGFtZF9iaW5hcnkp') }} | |
name: "Build (amd_binary)" | |
outputs: | |
data: ${{ steps.run.outputs.DATA }} | |
pipeline_status: ${{ steps.run.outputs.pipeline_status }} | |
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_status.json << 'EOF' | |
${{ toJson(needs) }} | |
EOF | |
ENV_SETUP_SCRIPT_EOF | |
- name: Run | |
id: run | |
run: | | |
echo "pipeline_status=undefined" >> $GITHUB_OUTPUT | |
. ./ci/tmp/praktika_setup_env.sh | |
set -o pipefail | |
if command -v ts &> /dev/null; then | |
python3 -m praktika run 'Build (amd_binary)' --workflow "NightlyJepsen" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
else | |
python3 -m praktika run 'Build (amd_binary)' --workflow "NightlyJepsen" --ci |& tee ./ci/tmp/job.log | |
fi | |
clickhouse_keeper_jepsen: | |
runs-on: [self-hosted, style-checker-aarch64] | |
needs: [config_workflow, dockers_build_amd, dockers_build_arm, build_amd_binary] | |
if: ${{ !cancelled() && !contains(needs.*.outputs.pipeline_status, 'failure') && !contains(needs.*.outputs.pipeline_status, 'undefined') && !contains(fromJson(needs.config_workflow.outputs.data).workflow_config.cache_success_base64, 'Q2xpY2tIb3VzZSBLZWVwZXIgSmVwc2Vu') }} | |
name: "ClickHouse Keeper Jepsen" | |
outputs: | |
data: ${{ steps.run.outputs.DATA }} | |
pipeline_status: ${{ steps.run.outputs.pipeline_status }} | |
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_status.json << 'EOF' | |
${{ toJson(needs) }} | |
EOF | |
ENV_SETUP_SCRIPT_EOF | |
- name: Run | |
id: run | |
run: | | |
echo "pipeline_status=undefined" >> $GITHUB_OUTPUT | |
. ./ci/tmp/praktika_setup_env.sh | |
set -o pipefail | |
if command -v ts &> /dev/null; then | |
python3 -m praktika run 'ClickHouse Keeper Jepsen' --workflow "NightlyJepsen" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
else | |
python3 -m praktika run 'ClickHouse Keeper Jepsen' --workflow "NightlyJepsen" --ci |& tee ./ci/tmp/job.log | |
fi | |
finish_workflow: | |
runs-on: [self-hosted, style-checker-aarch64] | |
needs: [config_workflow, dockers_build_amd, dockers_build_arm, build_amd_binary, clickhouse_keeper_jepsen] | |
if: ${{ !cancelled() }} | |
name: "Finish Workflow" | |
outputs: | |
data: ${{ steps.run.outputs.DATA }} | |
pipeline_status: ${{ steps.run.outputs.pipeline_status }} | |
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_status.json << 'EOF' | |
${{ toJson(needs) }} | |
EOF | |
ENV_SETUP_SCRIPT_EOF | |
- name: Run | |
id: run | |
run: | | |
echo "pipeline_status=undefined" >> $GITHUB_OUTPUT | |
. ./ci/tmp/praktika_setup_env.sh | |
set -o pipefail | |
if command -v ts &> /dev/null; then | |
python3 -m praktika run 'Finish Workflow' --workflow "NightlyJepsen" --ci |& ts '[%Y-%m-%d %H:%M:%S]' | tee ./ci/tmp/job.log | |
else | |
python3 -m praktika run 'Finish Workflow' --workflow "NightlyJepsen" --ci |& tee ./ci/tmp/job.log | |
fi |