From 418c7784e951f630f544dcfb5b25809c09319b65 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck <wdconinc@gmail.com> Date: Sat, 7 Oct 2023 14:32:54 +0000 Subject: [PATCH] feat: status reporting to GitHub triggerers --- .gitlab-ci.yml | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3816b7145..210914542 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -44,6 +44,7 @@ variables: INTERNAL_TAG: "pipeline-${CI_PIPELINE_ID}" stages: + - status-pending - config - base ## base OS image - jug ## jug container images @@ -51,6 +52,7 @@ stages: - benchmarks - test - finalize + - status-report ## only run CI for in the following cases: ## master, stable branch, release tag, MR event and nightly builds @@ -128,6 +130,32 @@ version: reports: dotenv: build.env +.status: + image: curlimages/curl:latest + 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} $(TZ=America/New_York date)"'", + "context":"eicweb/eic_container" + }' ; + fi + +status:pending: + stage: status-pending + extends: .status + variables: + STATE: "pending" + DESCRIPTION: "Started..." + when: always + ## base job settings for all docker interactions .docker: image: ${DOCKER_IMAGE} @@ -448,6 +476,8 @@ benchmarks:detector:default: - version - jug_xl:default variables: + GITHUB_SHA: "${GITHUB_SHA}" + GITHUB_REPOSITORY: "${GITHUB_REPOSITORY}" DETECTOR: "epic" DETECTOR_CONFIG: epic_craterlake DETECTOR_REPOSITORYURL: 'https://github.com/eic/epic.git' @@ -467,6 +497,8 @@ benchmarks:detector:nightly: - version - jug_xl:nightly variables: + GITHUB_SHA: "${GITHUB_SHA}" + GITHUB_REPOSITORY: "${GITHUB_REPOSITORY}" DETECTOR: "epic" DETECTOR_CONFIG: epic_craterlake DETECTOR_REPOSITORYURL: 'https://github.com/eic/epic.git' @@ -553,3 +585,20 @@ clean_pipeline: - docker system prune --filter until=24h --force - docker system df - docker images + +status:success: + stage: status-report + extends: .status + variables: + STATE: "success" + DESCRIPTION: "Succeeded!" + when: on_success + +status:failure: + stage: status-report + extends: .status + variables: + STATE: "failure" + DESCRIPTION: "Failed!" + when: on_failure + -- GitLab