name: JepsenWorkflow env: # Force the stdout and stderr streams to be unbuffered PYTHONUNBUFFERED: 1 concurrency: group: jepsen on: # yamllint disable-line rule:truthy schedule: - cron: '0 */6 * * *' workflow_dispatch: workflow_call: jobs: KeeperJepsenRelease: runs-on: [self-hosted, style-checker] steps: - name: Set envs run: | cat >> "$GITHUB_ENV" << 'EOF' TEMP_PATH=${{runner.temp}}/keeper_jepsen REPO_COPY=${{runner.temp}}/keeper_jepsen/ClickHouse EOF - name: Clear repository run: | sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" - name: Check out repository code uses: actions/checkout@v2 with: fetch-depth: 0 - name: Jepsen Test run: | sudo rm -fr "$TEMP_PATH" mkdir -p "$TEMP_PATH" cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" cd "$REPO_COPY/tests/ci" python3 jepsen_check.py 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" # ServerJepsenRelease: # runs-on: [self-hosted, style-checker] # if: ${{ always() }} # needs: [KeeperJepsenRelease] # steps: # - name: Set envs # run: | # cat >> "$GITHUB_ENV" << 'EOF' # TEMP_PATH=${{runner.temp}}/server_jepsen # REPO_COPY=${{runner.temp}}/server_jepsen/ClickHouse # EOF # - name: Clear repository # run: | # sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE" # - name: Check out repository code # uses: actions/checkout@v2 # with: # fetch-depth: 0 # - name: Jepsen Test # run: | # sudo rm -fr "$TEMP_PATH" # mkdir -p "$TEMP_PATH" # cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH" # cd "$REPO_COPY/tests/ci" # python3 jepsen_check.py server # - 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"