Skip to content
Snippets Groups Projects
Verified Commit 3f9a0886 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

WIP: pipeline

parent b983b7f1
No related branches found
No related tags found
No related merge requests found
Pipeline #8323 failed
...@@ -21,33 +21,55 @@ ...@@ -21,33 +21,55 @@
# #
variables: variables:
CI_REGISTRY_IMAGE: $CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:latest CPPLIB_TESTENV_IMAGE_SUFFIX: $CI_COMMIT_REF_NAME
CPP_INT_TEST_REPO: https://gitlab.indiscale.com/api/v4/projects/111/trigger/pipeline CPPLIB_REPO_PATH: caosdb/src/caosdb-cpplib
INT_TEST_REPO: $CPP_INT_TEST_REPO CPPLIB_TESTENV_IMAGE_TAG: ${CPPLIB_REPO_PATH}/testenv:${CPPLIB_IMAGE_SUFFIX}
CPPLIB_REGISTRY_IMAGE: ${CI_REGISTRY}/${CPPLIB_IMAGE_TAG}
CPPLIB_IMAGE_CACHE: ${CPPLIB_IMAGE_TAG}.tar
CPPINTTEST_REPO: https://gitlab.indiscale.com/api/v4/projects/111
CPPINTTEST_PIPELINE: $CPPINTTEST_REPO/trigger/pipeline
CPPINTTEST_BRANCHES: $CPPINTTEST_REPO/branches
GIT_SUBMODULE_STRATEGY: normal GIT_SUBMODULE_STRATEGY: normal
image: $CI_REGISTRY_IMAGE ## FOR DEBUGGING
TRIGGERED_BY_REPO: CPPINTTEST
TRIGGERED_BY_REF: $CI_COMMIT_REF_NAME
TRIGGERED_BY_HASH: $CI_COMMIT_SHORT_SHA
image: $CPPLIB_REGISTRY_IMAGE
stages: stages:
- info
- setup - setup
- test - test
- deploy - deploy
info:
tags: [cached-dind]
image: docker:20.10
stage: setup_tests
timeout: 1 minutes
needs: []
script:
- echo "Pipeline triggered by $TRIGGERED_BY_REPO@$TRIGGERED_BY_REF ($TRIGGERED_BY_HASH)"
# Build a docker image in which tests for this repository can run # Build a docker image in which tests for this repository can run
build-testenv: build-testenv:
tags: [ cached-dind ] tags: [ docker ]
image: docker:20.10 image: docker:20.10
stage: setup stage: setup
script: script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
# use here general latest or specific branch latest... # use here general latest or specific branch latest...
- docker pull $CI_REGISTRY_IMAGE|| true - docker pull $CPPLIB_REGISTRY_IMAGE|| true
- docker build - docker build
-f .docker/Dockerfile -f .docker/Dockerfile
--pull --pull
--cache-from $CI_REGISTRY_IMAGE --cache-from $CPPLIB_REGISTRY_IMAGE
-t $CI_REGISTRY_IMAGE . -t $CPPLIB_REGISTRY_IMAGE .
- docker push $CI_REGISTRY_IMAGE - docker push $CPPLIB_REGISTRY_IMAGE
# formatting with clang-format # formatting with clang-format
code_style: code_style:
...@@ -70,21 +92,37 @@ test: ...@@ -70,21 +92,37 @@ test:
# trigger the integration tests # trigger the integration tests
trigger_inttest: trigger_inttest:
image: docker:20.10
tags: [ docker ] tags: [ docker ]
stage: deploy stage: deploy
script: script:
- CPPINT_REF=main
- TRIGGERED_BY_REPO=${TRIGGERED_BY_REPO:-CPPLIB}
- TRIGGERED_BY_REF=${TRIGGERED_BY_REF:-$CI_COMMIT_REF_NAME}
- TRIGGERED_BY_HASH=${TRIGGERED_BY_HASH:-$CI_COMMIT_SHORT_SHA}
- curl google.de
## Determine the cppinttest branch...
- command -v wget
# ... use an f-branch if posible...
- if echo "$CI_COMMIT_REF_NAME" | grep -c "^f-" ; then
echo "Check if caosdb_cppinttest has branch $CI_COMMIT_REF_NAME" ;
if wget ${CPPINTTEST_BRANCHES}/${CI_COMMIT_REF_NAME} ; then
# caosdb-cppinttest has this f-branch
CPPINT_REF=$CI_COMMIT_REF_NAME ;
fi;
fi;
# ... or use main if possible...
- if [[ "$CI_COMMIT_REF_NAME" == "main" ]] ; then
CPPINT_REF=main ;
fi
# ... and fall-back to dev
- CPPINT_REF=${CPPINT_REF:-dev}
- echo "Triggering caosdb-cppinttest@${CPPINT_REF}"
- curl -w "%{stderr}HTTPCODE=%{http_code}" -X POST - curl -w "%{stderr}HTTPCODE=%{http_code}" -X POST
-F token=$CI_JOB_TOKEN -F token=$CI_JOB_TOKEN
-F "variables[TRIGGERED_BY_REPO]=$TRIGGERED_BY_REPO" -F "variables[TRIGGERED_BY_REPO]=$TRIGGERED_BY_REPO"
-F "variables[TRIGGERED_BY_REF]=$TRIGGERED_BY_REF" -F "variables[TRIGGERED_BY_REF]=$TRIGGERED_BY_REF"
-F "variables[TRIGGERED_BY_HASH]=$TRIGGERED_BY_HASH" -F "variables[TRIGGERED_BY_HASH]=$TRIGGERED_BY_HASH"
-F ref=${CPPINT_REF} $INT_TEST_REPO 2>HTTPCODE -F ref=${CPPINT_REF} $CPPINTTEST_PIPELINE 2>HTTPCODE
# fail if the request failed
- grep -c "HTTPCODE=2" HTTPCODE - grep -c "HTTPCODE=2" HTTPCODE
# Build the sphinx documentation and make it ready for deployment by Gitlab Pages # Build the sphinx documentation and make it ready for deployment by Gitlab Pages
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment