From 15cab77ee6eaf16cb3369b2b6d9f03f920c834f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com>
Date: Fri, 12 Feb 2021 10:19:49 +0000
Subject: [PATCH] ENH: Store valid versions

Store the version combination for integration tests that succeed.
---
 .gitlab-ci.yml | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 396a29b..4f99d12 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -28,6 +28,7 @@ stages:
   - cert
   - style
   - test
+  - deploy
 
 
 # During the test stage the CI pipeline (which runs in a "root" docker) starts
@@ -123,6 +124,11 @@ test:
       - cd .docker
         # here the server and the mysql backend docker are being started
       - CAOSDB_TAG=$CAOSDB_TAG docker-compose  up -d
+        # store versions of CaosDB parts
+      - docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_pylib_commit > hash_pylib
+      - docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_webui_commit > hash_webui
+      - docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_server_commit > hash_server
+      - docker exec -u 0 -t docker_caosdb-server_1 cat /opt/caosdb/git/caosdb_mysqlbackend_commit > hash_mysql
         # the pyinttest docker writes the return value of the tests into the
         # file result
       - /bin/sh ./run.sh
@@ -138,7 +144,7 @@ test:
     paths:
       - caosdb_log.txt
       - mariadb_log.txt
-    when: on_failure
+      - .docker/hash_*
     expire_in: 1 week
 
 build-testenv:
@@ -193,3 +199,25 @@ style:
   script:
       - autopep8 -r --diff --exit-code .
   allow_failure: true
+
+
+store-version:
+  tags: [docker]
+  stage: deploy
+  dependencies: [test]
+  image: $CI_REGISTRY_IMAGE
+  script:
+      - curl -u gitlab:$REVISONSTOREPW
+        --data server=$(cat .docker/hash_server)
+        --data mysql=$(cat .docker/hash_mysql)
+        --data pylib=$(cat .docker/hash_pylib)
+        --data webui=$(cat .docker/hash_webui)
+        --data save=1 https://caosdb.org/revisions/saverev.php
+  allow_failure: true
+  only:
+    - dev
+    - master
+    # TODO remove
+    - f-versions
+    - web
+
-- 
GitLab