diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a4ad26720e837d426627dbff932588bc21380cd9..e6147128deb80e83b7d606ad1c8bf4792ab090a3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,6 +22,7 @@ default: dotenv: juggler.env stages: + - status-pending - config - initialize - compile @@ -31,6 +32,32 @@ stages: - process - collect - finish + - status-report + +.status: + before_script: [] + script: + - | + if [ -n "${GITHUB_SHA}" ] ; then + curl \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: token ${GITHUB_REPO_STATUS_TOKEN}" \ + "https://api.github.com/repos/${GITHUB_REPOSITORY}/statuses/${GITHUB_SHA}" \ + -d '{"state":"'"${STATE}"'", + "target_url":"'"${CI_PIPELINE_URL}"'", + "description":"'"${DESCRIPTION}"'", + "context":"eicweb/reconstruction_benchmarks" + }' ; + fi + +benchmarks:reconstruction:pending: + stage: status-pending + extends: .status + variables: + STATE: "pending" + DESCRIPTION: "The reconstruction benchmarks are running..." + when: always common:setup: stage: config @@ -95,3 +122,24 @@ final_report: - echo "It was a success!" allow_failure: true +benchmarks:reconstruction:success: + stage: status-report + needs: + - ["final_report"] + extends: .status + variables: + STATE: "success" + DESCRIPTION: "The reconstruction benchmarks succeeded!" + when: on_success + +benchmarks:reconstruction:failure: + stage: status-report + needs: + - ["final_report"] + extends: .status + variables: + STATE: "failure" + DESCRIPTION: "The reconstruction benchmarks failed!" + when: on_failure + +