aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml35
1 files changed, 25 insertions, 10 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a0d68b89a..1f8e36dcd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,21 +1,26 @@
-image: maven:latest
+image: maven:3.6.3-jdk-11
variables:
LC_ALL: "en_US.UTF-8"
LANG: "en_US.UTF-8"
LANGUAGE: "en_US"
- LIB_NAME: "MOA-ID"
+ LIB_NAME: "moa-id"
MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true --settings ${CI_PROJECT_DIR}/.cisettings.xml"
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=${CI_PROJECT_DIR}/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
GIT_SUBMODULE_STRATEGY: recursive
GIT_DEPTH: "2"
SECURE_LOG_LEVEL: "debug"
+ JACOCO_CSV_LOCATION: '${CI_PROJECT_DIR}/assembly/target/site/jacoco-aggregate-ut/jacoco.csv'
+ JACOCO_XML_LOCATION: '${CI_PROJECT_DIR}/assembly/target/site/jacoco-aggregate-ut/jacoco.xml'
include:
- template: Dependency-Scanning.gitlab-ci.yml
- template: Security/SAST.gitlab-ci.yml
- template: Secret-Detection.gitlab-ci.yml
- - template: Code-Quality.gitlab-ci.yml
+
+default:
+ tags:
+ - docker
stages:
- assemble
@@ -31,23 +36,35 @@ assemble:
stage: assemble
except:
- tags
+ tags:
+ - docker
script: |
mvn $MAVEN_CLI_OPTS compile test
+ coverage: '/([0-9]{1,3}.[0-9]*).%.covered/'
+ after_script:
+ - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, " instructions covered"; print 100*covered/instructions, "% covered" }' $JACOCO_CSV_LOCATION
artifacts:
when: always
reports:
junit: "**/target/surefire-reports/TEST-*.xml"
-
+ paths:
+ - $JACOCO_CSV_LOCATION
+ - $JACOCO_XML_LOCATION
+
+
publishToGitlab:
stage: package
+ tags:
+ - docker
except:
- tags
+ - /^feature/.*$/i
before_script:
- mkdir -p ~/.ssh
- ssh-keyscan apps.egiz.gv.at >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
script: |
- export VERSION=$(mvn -B help:evaluate -Dexpression=project.version -B | grep -v "\[INFO\]" | grep -Po "\d+\.\d+\.\d+((-\w*)+)?")
+ export VERSION=$(mvn -B help:evaluate -Dexpression=project.version -B | grep -v "\[WARNING\]" | grep -v "\[INFO\]" | grep -Po "\d+\.\d+\.\d+((-\w*)+)?")
echo "Publishing version $VERSION for $LIB_NAME to public EGIZ maven"
mvn $MAVEN_CLI_OPTS deploy -s .cisettings.xml -P jenkinsDeploy -DskipTests
echo "VERSION=$VERSION" >> variables.env
@@ -59,20 +76,18 @@ publishToGitlab:
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
+ tags:
+ - docker
needs:
- job: publishToGitlab
artifacts: true
when: manual
only:
- master
- before_script:
- - mkdir -p ~/.ssh
- - ssh-keyscan apps.egiz.gv.at >> ~/.ssh/known_hosts
- - chmod 644 ~/.ssh/known_hosts
script: |
echo "Releasing version $VERSION of $LIB_NAME"
echo "Publishing version $VERSION to public EGIZ maven"
- mvn $MAVEN_CLI_OPTS deploy -s .cisettings.xml -P jenkinsDeploy
+ mvn $MAVEN_CLI_OPTS deploy -s .cisettings.xml
release:
name: "$VERSION"
tag_name: "v$VERSION"