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 @@
#
variables:
CI_REGISTRY_IMAGE: $CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:latest
CPP_INT_TEST_REPO: https://gitlab.indiscale.com/api/v4/projects/111/trigger/pipeline
INT_TEST_REPO: $CPP_INT_TEST_REPO
CPPLIB_TESTENV_IMAGE_SUFFIX: $CI_COMMIT_REF_NAME
CPPLIB_REPO_PATH: caosdb/src/caosdb-cpplib
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
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:
- info
- setup
- test
- 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-testenv:
tags: [ cached-dind ]
tags: [ docker ]
image: docker:20.10
stage: setup
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
# use here general latest or specific branch latest...
- docker pull $CI_REGISTRY_IMAGE|| true
- docker pull $CPPLIB_REGISTRY_IMAGE|| true
- docker build
-f .docker/Dockerfile
--pull
--cache-from $CI_REGISTRY_IMAGE
-t $CI_REGISTRY_IMAGE .
- docker push $CI_REGISTRY_IMAGE
--cache-from $CPPLIB_REGISTRY_IMAGE
-t $CPPLIB_REGISTRY_IMAGE .
- docker push $CPPLIB_REGISTRY_IMAGE
# formatting with clang-format
code_style:
......@@ -70,21 +92,37 @@ test:
# trigger the integration tests
trigger_inttest:
image: docker:20.10
tags: [ docker ]
stage: deploy
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
-F token=$CI_JOB_TOKEN
-F "variables[TRIGGERED_BY_REPO]=$TRIGGERED_BY_REPO"
-F "variables[TRIGGERED_BY_REF]=$TRIGGERED_BY_REF"
-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
# 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