Skip to content
Snippets Groups Projects

Use "trigger" keyword for pipeline.

Merged Daniel Hornung requested to merge f-trigger into dev
Files
2
+ 37
18
#
#
# This file is a part of the CaosDB Project.
# This file is a part of the CaosDB Project.
#
#
# Copyright (C) 2019-2021 Indiscale GmbH <info@indiscale.com>
# Copyright (C) 2019-2022 Indiscale GmbH <info@indiscale.com>
# Copyright (C) 2019 Henrik tom Wörden <h.tomwoerden@indiscale.com>
# Copyright (C) 2019 Henrik tom Wörden <h.tomwoerden@indiscale.com>
# Copyright (C) 2020 Daniel Hornung <d.hornung@indiscale.com>
# Copyright (C) 2020-2022 Daniel Hornung <d.hornung@indiscale.com>
# Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com>
# Copyright (C) 2021 Timm Fitschen <t.fitschen@indiscale.com>
#
#
# This program is free software: you can redistribute it and/or modify
# This program is free software: you can redistribute it and/or modify
@@ -23,7 +23,6 @@
@@ -23,7 +23,6 @@
variables:
variables:
CPPLIB_REGISTRY_IMAGE: $CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:$CI_COMMIT_REF_NAME
CPPLIB_REGISTRY_IMAGE: $CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:$CI_COMMIT_REF_NAME
CPPINTTEST_PIPELINE: https://gitlab.indiscale.com/api/v4/projects/111/trigger/pipeline
CPPINTTEST_BRANCHES: https://gitlab.indiscale.com/api/v4/projects/111/repository/branches
CPPINTTEST_BRANCHES: https://gitlab.indiscale.com/api/v4/projects/111/repository/branches
GIT_SUBMODULE_STRATEGY: normal
GIT_SUBMODULE_STRATEGY: normal
@@ -32,6 +31,9 @@ variables:
@@ -32,6 +31,9 @@ variables:
TRIGGERED_BY_REF: $CI_COMMIT_REF_NAME
TRIGGERED_BY_REF: $CI_COMMIT_REF_NAME
TRIGGERED_BY_HASH: $CI_COMMIT_SHORT_SHA
TRIGGERED_BY_HASH: $CI_COMMIT_SHORT_SHA
 
# For storing cross-job environment variables
 
DOTENV: custom.env
 
image: $CPPLIB_REGISTRY_IMAGE
image: $CPPLIB_REGISTRY_IMAGE
@@ -91,12 +93,11 @@ test:
@@ -91,12 +93,11 @@ test:
- cmake --build . -j --target cxxcaosdbcli
- cmake --build . -j --target cxxcaosdbcli
# - cmake --build . -j --target ccaosdbcli # Disabled until it compiles again.
# - cmake --build . -j --target ccaosdbcli # Disabled until it compiles again.
# trigger the integration tests
trigger_prepare:
trigger_inttest:
# Calculate the branch name
tags: [ docker ]
tags: [ docker ]
stage: deploy
stage: deploy
script:
script:
## Determine the cppinttest branch...
## Determine the cppinttest branch...
# ... use an f-branch if posible...
# ... use an f-branch if posible...
- F_BRANCH=dev
- F_BRANCH=dev
@@ -121,18 +122,36 @@ trigger_inttest:
@@ -121,18 +122,36 @@ trigger_inttest:
# ... and fall-back to dev
# ... and fall-back to dev
- CPPINT_REF=${CPPINT_REF:-dev}
- CPPINT_REF=${CPPINT_REF:-dev}
- echo "Triggering caosdb-cppinttest@${CPPINT_REF} (F_BRANCH=$F_BRANCH)"
# Write to dotenv
- curl -w "%{stderr}HTTPCODE=%{http_code}" -X POST
- echo "CPPINT_REF=${CPPINT_REF}" >> "$DOTENV"
-F token=$CI_JOB_TOKEN
- echo "F_BRANCH=${F_BRANCH}" >> "$DOTENV"
-F "variables[TRIGGERED_BY_REPO]=$TRIGGERED_BY_REPO"
- cat "$DOTENV"
-F "variables[TRIGGERED_BY_REF]=$TRIGGERED_BY_REF"
artifacts:
-F "variables[TRIGGERED_BY_HASH]=$TRIGGERED_BY_HASH"
# this special artifact will be loaded in the next job and make the environment variables available
-F "variables[CPPLIB_REGISTRY_IMAGE]=$CPPLIB_REGISTRY_IMAGE"
reports:
-F "variables[F_BRANCH]=${F_BRANCH}"
dotenv: "$DOTENV"
-F ref=${CPPINT_REF} $CPPINTTEST_PIPELINE 2>HTTPCODE
expire_in: 1 day
# fail if the request failed
- grep -c "HTTPCODE=2" HTTPCODE
# trigger the integration tests
 
trigger_inttest:
 
stage: deploy
 
needs: [ trigger_prepare ]
 
inherit:
 
variables:
 
# List the variables that shall be inherited, which also means they will override any equally
 
# named varibles in child pipelines.
 
- TRIGGERED_BY_REPO
 
- TRIGGERED_BY_REF
 
- TRIGGERED_BY_HASH
 
- CPPLIB_REGISTRY_IMAGE
 
variables:
 
# dotenv variables must be set again here.
 
F_BRANCH: $F_BRANCH
 
trigger:
 
project: caosdb/src/caosdb-cppinttest
 
branch: $CPPINT_REF
 
strategy: depend
# 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
# Special job for serving a static website. See https://docs.gitlab.com/ee/ci/yaml/README.html#pages
# Special job for serving a static website. See https://docs.gitlab.com/ee/ci/yaml/README.html#pages
Loading