NightlyJepsen #2
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
# generated by praktika | |
name: NightlyJepsen | |
on: | |
schedule: | |
- cron: 13 4 * * * | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }} | |
env: | |
PYTHONUNBUFFERED: 1 | |
CHECKOUT_REF: ${{ github.head_ref }} | |
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_nightlyjepsen.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 "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_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_nightlyjepsen.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 "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 | |
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_nightlyjepsen.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 "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 | |
build_amd_binary: | |
runs-on: [self-hosted, builder] | |
needs: [config_workflow, dockers_build_amd] | |
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_nightlyjepsen.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 "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, build_amd_binary] | |
if: ${{ !failure() && !cancelled() && !contains(fromJson(needs.config_workflow.outputs.data).cache_success_base64, 'Q2xpY2tIb3VzZSBLZWVwZXIgSmVwc2Vu') }} | |
name: "ClickHouse Keeper Jepsen" | |
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_nightlyjepsen.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 '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 |