diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9c3c004e48bfe1c74b65ab12cb96d65cc5f72efc..8714a6ca20a9485e1a09ac78e339a237b181c607 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,6 +21,7 @@ default: dotenv: juggler.env stages: + - status-pending - config - initialize - compile @@ -30,6 +31,32 @@ stages: - analyze - 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/physics_benchmarks" + }' ; + fi + +benchmarks:physics:pending: + stage: status-pending + extends: .status + variables: + STATE: "pending" + DESCRIPTION: "The physics benchmarks are running..." + when: always common:setup: stage: config @@ -99,3 +126,23 @@ summary: - results/* # reports: # junit: ["results/dvcs/report2.xml"] + +benchmarks:physics:success: + stage: status-report + needs: + - ["summary"] + extends: .status + variables: + STATE: "success" + DESCRIPTION: "The physics benchmarks succeeded!" + when: on_success + +benchmarks:physics:failure: + stage: status-report + needs: + - ["summary"] + extends: .status + variables: + STATE: "failure" + DESCRIPTION: "The physics benchmarks failed!" + when: on_failure