diff --git a/.buildkite/build_pr_pipeline.yml b/.buildkite/build_pr_pipeline.yml index bcca81c0c65e..3df10f379e55 100644 --- a/.buildkite/build_pr_pipeline.yml +++ b/.buildkite/build_pr_pipeline.yml @@ -6,7 +6,16 @@ steps: command: ".buildkite/scripts/cancel_running_pr.sh || true" - key: "build-pr-setup" label: "setup" - command: ".buildkite/scripts/build_pr_commit_status.sh pending" + command: | + curl -s -L \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer $${VAULT_GITHUB_TOKEN}" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "https://api.github.com/repos/${GITHUB_PR_BASE_OWNER}/${GITHUB_PR_BASE_REPO}/statuses/${GITHUB_PR_TRIGGERED_SHA}" \ + -d '{"state":"pending","target_url":"'$BUILDKITE_BUILD_URL'","description":"Build started","context":"buildkite/'$BUILDKITE_PIPELINE_SLUG'"}' + plugins: + - 'uber-workflow/run-without-clone': - key: "build-pr" label: ":hammer: Build docs PR" command: ".buildkite/scripts/build_pr.sh" @@ -21,11 +30,20 @@ steps: - key: "teardown" label: "teardown" command: | - if [ $(buildkite-agent step get "outcome" --step "build-pr") == "passed" ]; then - .buildkite/scripts/build_pr_commit_status.sh success - else - .buildkite/scripts/build_pr_commit_status.sh failure + status_state=failure + if [ $$(buildkite-agent step get "outcome" --step "build-pr") == "passed" ]; then + status_state=success fi + export status_state + curl -s -L \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer $${VAULT_GITHUB_TOKEN}" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "https://api.github.com/repos/${GITHUB_PR_BASE_OWNER}/${GITHUB_PR_BASE_REPO}/statuses/${GITHUB_PR_TRIGGERED_SHA}" \ + -d '{"state":"'$$status_state'","target_url":"'$BUILDKITE_BUILD_URL'","description":"Build finished","context":"buildkite/'$BUILDKITE_PIPELINE_SLUG'"}' depends_on: - step: "build-pr" allow_failure: true + plugins: + - 'uber-workflow/run-without-clone': diff --git a/.buildkite/scripts/build_pr_commit_status.sh b/.buildkite/scripts/build_pr_commit_status.sh deleted file mode 100755 index 3bc5d422dd55..000000000000 --- a/.buildkite/scripts/build_pr_commit_status.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -# This hook should only be invoked for builds triggered by the Buildkite PR bot -if [ -z ${GITHUB_PR_BASE_OWNER+set} ] || [ -z ${GITHUB_PR_BASE_REPO+set} ] || [ -z ${GITHUB_PR_TRIGGERED_SHA+set} ];then - exit 0 -fi - -status_state=$1 -description='' - -case $status_state in - pending) - description='Build started';; - success|failure|error) - description='Build finished';; - *) - echo "Invalid state $status_state" - exit 1;; -esac - -githubPublishStatus="https://api.github.com/repos/${GITHUB_PR_BASE_OWNER}/${GITHUB_PR_BASE_REPO}/statuses/${GITHUB_PR_TRIGGERED_SHA}" -data='{"state":"'$status_state'","target_url":"'$BUILDKITE_BUILD_URL'","description":"'$description'","context":"buildkite/'$BUILDKITE_PIPELINE_SLUG'"}' - -echo "Setting commit status: buildkite/${BUILDKITE_PIPELINE_SLUG} - ${status_state}" -curl -s -L \ - -X POST \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${VAULT_GITHUB_TOKEN}" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - "${githubPublishStatus}" \ - -d "${data}"