From 3bd067f0874c5fb44ec6ca3a8efbfd5fcbcd5296 Mon Sep 17 00:00:00 2001 From: Sonia Zorba <sonia.zorba@inaf.it> Date: Mon, 21 Dec 2020 09:26:38 +0100 Subject: [PATCH] Added CI --- .gitlab-ci.yml | 39 +++++++++++++++++++++++++++ src/test/resources/testing-Dockerfile | 9 +++++++ 2 files changed, 48 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 src/test/resources/testing-Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..2f71f65 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,39 @@ +stages: + - generate-test-env + - test + - dockerize + +variables: + # to avoid "fatal: git fetch-pack: expected shallow list" + GIT_STRATEGY: clone + +pre_test: + stage: generate-test-env + tags: + - shell + script: + - docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}" + - docker build -t "${CI_REGISTRY_IMAGE}/vospace-test-env" -f src/test/resources/testing-Dockerfile . + - docker push "${CI_REGISTRY_IMAGE}/vospace-test-env" + only: + refs: + - ci-test + changes: + - src/test/resources/testing-Dockerfile + +test: + stage: test + tags: + - docker + image: "${CI_REGISTRY_IMAGE}/vospace-test-env" + variables: + FILE_CATALOG_REPO_URL: "https://gitlab-ci-token:${CI_JOB_TOKEN}@www.ict.inaf.it/gitlab/ia2/vospace-file-catalog.git" + script: + - pwd + - ls + - git clone ${FILE_CATALOG_REPO_URL} + - mvn clean test -Dinit_database_scripts_path=../../vospace-file-catalog + - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print "coverage=" 100*covered/instructions }' target/site/jacoco/jacoco.csv + coverage: '/coverage=\d+\.\d+/' + only: + - ci-test diff --git a/src/test/resources/testing-Dockerfile b/src/test/resources/testing-Dockerfile new file mode 100644 index 0000000..62b1efc --- /dev/null +++ b/src/test/resources/testing-Dockerfile @@ -0,0 +1,9 @@ +# Dockerfile for setting up an environment to run tests + +FROM git.ia2.inaf.it:5050/ia2/ia2-devops/maven-otj-pg-embedded + +USER root + +RUN apt-get update && apt-get install -y git + +USER postgres -- GitLab