Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
evoal-core
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Operate
Terraform modules
Monitor
Service Desk
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
evoal
source
evoal-core
Commits
6397fbb4
Commit
6397fbb4
authored
1 year ago
by
Bernhard Johannes Berger
Browse files
Options
Downloads
Patches
Plain Diff
Use correct pom.xml in build.
parent
30fe5aa6
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Pipeline
#279856
failed
1 year ago
Stage: Domain Specific Languages
Stage: EvoAl
Stage: Release
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
.gitlab-ci.yml
+241
-0
241 additions, 0 deletions
.gitlab-ci.yml
with
241 additions
and
0 deletions
.gitlab-ci.yml
0 → 100644
+
241
−
0
View file @
6397fbb4
variables
:
# This will supress any download for dependencies and plugins or upload messages which would clutter the console log.
# `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work.
MAVEN_OPTS
:
"
-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"
# As of Maven 3.3.0 instead of this you may define these options in `.mvn/maven.config` so the same config is used
# when running from the command line.
# `installAtEnd` and `deployAtEnd` are only effective with recent version of the corresponding plugins.
MAVEN_CLI_OPTS
:
"
-s
${CI_PROJECT_DIR}/ci/settings.xml
--batch-mode
--errors
--fail-at-end
--show-version
-DinstallAtEnd=true
-DdeployAtEnd=true
$MAVEN_OPTS"
# custom docker image for building our Java stuff
ECLIPSE_IMAGE
:
gitlab.informatik.uni-bremen.de:5005/evoal/source/evoal-core/evoal/eclipse-mirror:2022-12
EVOAL_IMAGE
:
library/maven:3.8.6-eclipse-temurin-17-alpine
SECURE_LOG_LEVEL
:
"
debug"
######################
# pom.xml to build
LANGUAGES_POM
:
"
src/languages/pom.xml"
EVOAL_POM
:
"
src/core/pom.xml"
#JUNIT_POM: "src/core/de.evoal.core.junit/pom.xml"
PLUGINS_POM
:
"
src/core/plugins/pom.xml"
#MAIN_POM: "src/core/de.evoal.core.main/pom.xml"
MIRROR_POM
:
"
src/mirror/pom.xml"
# include pre-defined templates for scanning
include
:
-
template
:
Security/Dependency-Scanning.gitlab-ci.yml
#before_script:
# # docker login asks for the password to be passed through stdin for security
# # we use $CI_REGISTRY_PASSWORD here which is a special variable provided by GitLab
# # https://docs.gitlab.com/ce/ci/variables/predefined_variables.html
# - mkdir $HOME/.docker
# - echo $DOCKER_AUTH_CONFIG > $HOME/.docker/config.json
# - echo "Log in to $CI_REGISTRY with $CI_REGISTRY_USER and -- $CI_REGISTRY_IMAGE"
# - docker login --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD $CI_REGISTRY
# Cache downloaded dependencies and plugins between builds.
# To keep cache across branches add 'key: "$CI_JOB_REF_NAME"'
cache
:
paths
:
-
.m2/repository
stages
:
-
Domain Specific Languages
-
EvoAl
-
Release
#############################################################
## DSL-related pipeline
dsl:compile
:
stage
:
Domain Specific Languages
tags
:
-
docker
image
:
$ECLIPSE_IMAGE
script
:
-
mvn $MAVEN_CLI_OPTS -f $LANGUAGES_POM -Dbranch=$CI_COMMIT_REF_NAME -pl "!de.evoal.languages:de.evoal.languages.releng.site" compile
dsl:unit
:
stage
:
Domain Specific Languages
tags
:
-
docker
image
:
$ECLIPSE_IMAGE
script
:
-
mvn $MAVEN_CLI_OPTS -f $LANGUAGES_POM -Dbranch=$CI_COMMIT_REF_NAME verify
dsl:deploy
:
stage
:
Domain Specific Languages
dependencies
:
-
"
dsl:compile"
needs
:
-
"
dsl:unit"
-
"
dsl:compile"
tags
:
-
docker
image
:
$ECLIPSE_IMAGE
script
:
-
mvn $MAVEN_CLI_OPTS -f $LANGUAGES_POM -Dbranch=$CI_COMMIT_REF_NAME -DskipTests=true flatten:flatten deploy
artifacts
:
untracked
:
false
when
:
on_success
expire_in
:
"
30
days"
paths
:
-
src/languages/de.evoal.languages.releng.site/target/de.evoal.languages.releng.site-*.zip
#############################################################
## Remaining compile steps
evoal:compile
:
stage
:
EvoAl
tags
:
-
docker
image
:
$EVOAL_IMAGE
script
:
-
mvn $MAVEN_CLI_OPTS -f $EVOAL_POM -Dbranch=$CI_COMMIT_REF_NAME -DskipTests=true flatten:flatten install
-
mvn $MAVEN_CLI_OPTS -f $PLUGIN_POM -Dbranch=$CI_COMMIT_REF_NAME -DskipTests=true flatten:flatten install
artifacts
:
untracked
:
false
when
:
on_success
expire_in
:
"
30
days"
paths
:
-
src/core/*/target/*
#############################################################
## Remaining unit tests
evoal:unit
:
stage
:
EvoAl
tags
:
-
docker
image
:
$EVOAL_IMAGE
script
:
-
mvn $MAVEN_CLI_OPTS -f $JUNIT_POM -Dbranch=$CI_COMMIT_REF_NAME -DskipTests=true flatten:flatten install
-
mvn $MAVEN_CLI_OPTS -f $EVOAL_POM -Dbranch=$CI_COMMIT_REF_NAME -DskipTests=true flatten:flatten install
-
mvn $MAVEN_CLI_OPTS -f $PLUGIN_POM -Dbranch=$CI_COMMIT_REF_NAME -DskipTests=true flatten:flatten install
-
mvn $MAVEN_CLI_OPTS -f $EVOAL_POM -Dbranch=$CI_COMMIT_REF_NAME -Pjacoco verify
-
cat src/core/de.evoal.releng.jacoco/target/site/jacoco-aggregate/index.html | grep -o '<tfoot>.*</tfoot>'
coverage
:
/Total.*?([0-9]{1,3})%/
artifacts
:
when
:
always
reports
:
junit
:
src/core/*/target/surefire-reports/TEST-*.xml
paths
:
-
src/core/de.evoal.releng.jacoco/target/site/jacoco-aggregate/jacoco.xml
-
src/core/*/target/surefire-reports/TEST-*.xml
evoal:coverage
:
stage
:
EvoAl
tags
:
-
docker
image
:
haynes/jacoco2cobertura:1.0.7
script
:
-
jacoco_paths=`find src/core/ -path "**/src/main/java" -type d | sed -e 's@^@'"$CI_PROJECT_DIR"'/@'`
-
python /opt/cover2cover.py src/core/de.evoal.releng.jacoco/target/site/jacoco-aggregate/jacoco.xml $jacoco_paths > src/core/de.evoal.releng.jacoco/target/site/coverage.xml
needs
:
[
"
evoal:unit"
]
dependencies
:
-
evoal:unit
artifacts
:
reports
:
coverage_report
:
coverage_format
:
cobertura
path
:
src/core/de.evoal.releng.jacoco/target/site/coverage.xmlx
dependency_scanning
:
stage
:
EvoAl
tags
:
[
docker
]
image
:
registry.gitlab.com/security-products/gemnasium-maven:4
needs
:
[
"
evoal:compile"
]
variables
:
DS_JAVA_VERSION
:
17
DS_MAX_DEPTH
:
3
DS_EXCLUDED_PATHS
:
src/mirror,src/languages,src/core/de.evoal.[a-qs-z]*,de.evoal.releng.jacoco
after_script
:
-
>
cd src/core/;
for FILE in `find . -name "gemnasium-maven-plugin.json"`; do
mv $FILE `echo "./de.evoal.releng.parent/$FILE" | sed -e "s;/gemnasium-maven-plugin.json;-gemnasium-maven-plugin.json;g"`;
done
#############################################################
## Remaining integration tests
#############################################################
## Remaining deploy steps
evoal:deploy
:
stage
:
EvoAl
dependencies
:
-
"
evoal:compile"
needs
:
-
"
evoal:compile"
-
"
evoal:unit"
tags
:
-
docker
image
:
$EVOAL_IMAGE
script
:
-
mvn $MAVEN_CLI_OPTS -f $JUNIT_POM -Dbranch=$CI_COMMIT_REF_NAME -DskipTests=true flatten:flatten install
-
mvn $MAVEN_CLI_OPTS -f $EVOAL_POM -Dbranch=$CI_COMMIT_REF_NAME -DskipTests=true flatten:flatten install
-
mvn $MAVEN_CLI_OPTS -f $PLUGIN_POM -Dbranch=$CI_COMMIT_REF_NAME -DskipTests=true flatten:flatten install
-
mvn $MAVEN_CLI_OPTS -f $EVOAL_POM -Dbranch=$CI_COMMIT_REF_NAME -DskipTests=true flatten:flatten deploy
artifacts
:
untracked
:
false
when
:
on_success
expire_in
:
"
30
days"
paths
:
-
src/core/*/target/*
#############################################################
## Remaining release steps
#all:coverage:
# stage: Release
# image: registry.gitlab.com/haynes/jacoco2cobertura:1.0.7
# script:
# # convert report from jacoco to cobertura, using relative project path
# - for XML in ; do python /opt/cover2cover.py target/site/jacoco/jacoco.xml $CI_PROJECT_DIR/src/main/java/ > target/site/cobertura.xml
# needs: ["evoal:unit"]
# artifacts:
# reports:
# coverage_report:
# coverage_format: cobertura
# path: src/core/*/target/site/cobertura.xml
all:package
:
stage
:
Release
needs
:
-
job
:
"
dsl:deploy"
artifacts
:
true
-
job
:
"
evoal:deploy"
artifacts
:
true
tags
:
-
docker
image
:
$EVOAL_IMAGE
script
:
-
ci/create-release.sh "$CI_JOB_NAME"
artifacts
:
name
:
"
evoal-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA-release"
when
:
on_success
paths
:
-
evoal
#release:
# stage: Release
# needs:
# - job: "dsl:deploy"
# artifacts: true
# - job: "evoal:deploy"
# artifacts: true
# image: registry.gitlab.com/gitlab-org/release-cli:latest
# rules:
# - if: $CI_COMMIT_TAG
# script:
# - echo "running release_job for $TAG"
# release: # See https://docs.gitlab.com/ee/ci/yaml/#release for available properties
# name: 'Release $CI_COMMIT_TAG'
# tag_name: 'v0.$CI_PIPELINE_IID' # The version is incremented per pipeline.
# description: 'v0.$CI_PIPELINE_IID'
# ref: '$CI_COMMIT_TAG' # The tag is created from the pipeline SHA.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment