diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..c4acfa2a4f206ea86a9fc803c81b28c4be3798cd --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,72 @@ +variables: + GITHUB_REPOSITORY: http://github.com/eic/juggler + GITHUB_TOKEN: + GITHUB_REF: refs/heads/main + +stages: + - pending + - prepare + - running + - report + +.status: + 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/detector_benchmarks ('"$DETECTOR_CONFIG"')" + }' ; + fi + +pending: + stage: pending + extends: .status + variables: + STATE: "pending" + DESCRIPTION: "Started..." + when: always + +prepare: + stage: prepare + script: + - git clone ${GITHUB_REPOSITORY} project + - git -C project checkout ${GITHUB_REF} + - rm -r project/.git + artifacts: + paths: + - project + +running: + stage: running + trigger: + include: + - artifact: project/.gitlab-ci.yml + job: prepare + strategy: depend + needs: + - artifacts: True + job: prepare + +report:success: + stage: report + extends: .status + variables: + STATE: "success" + DESCRIPTION: "Succeeded!" + when: on_success + +report:failure: + stage: report + extends: .status + variables: + STATE: "failure" + DESCRIPTION: "Failed!" + when: on_failure +