-
Notifications
You must be signed in to change notification settings - Fork 2
/
.gitlab-ci.yml
58 lines (51 loc) · 2.91 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#
# Copyright Broker QE authors.
# License: Apache License 2.0 (see the file LICENSE or http://apache.org/licenses/LICENSE-2.0.html).
#
# https://gitlab.com/gitlab-org/gitlab-ci-yml/blob/master/Maven.gitlab-ci.yml
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: "-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"
# 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_ARGS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
# Cache downloaded dependencies and plugins between builds.
# To keep cache across branches add 'key: "$CI_JOB_NAME"'
cache:
paths:
- .m2/repository
# This will only validate and compile stuff and run e.g. maven-enforcer-plugin.
# Because some enforcer rules might check dependency convergence and class duplications
# we use `test-compile` here instead of `validate`, so the correct classpath is picked up.
.validate: &validate
stage: build
script:
- 'microdnf install -y java-17-openjdk-headless make wget unzip tar gzip'
- |
pushd /etc/pki/ca-trust/source/anchors
curl --insecure -O https://password.corp.redhat.com/legacy.crt
curl --insecure -O https://password.corp.redhat.com/RH-IT-Root-CA.crt
curl --insecure -O https://certs.corp.redhat.com/certs/2015-IT-Root-CA.pem
curl --insecure -O https://certs.corp.redhat.com/certs/2022-IT-Root-CA.pem
update-ca-trust extract
popd
- 'curl -sSL https://archive.apache.org/dist/maven/maven-3/3.9.1/binaries/apache-maven-3.9.1-bin.tar.gz | tar xz -C /opt && ln -s /opt/apache-maven-3.9.1/bin/mvn /usr/local/bin/mvn'
- 'mkdir /opt/yq && curl -sSL https://github.com/mikefarah/yq/releases/download/v4.34.1/yq_linux_amd64.tar.gz | tar xz -C /opt/yq && ln -s /opt/yq/yq_linux_amd64 /usr/local/bin/yq'
# - 'make -f Makefile.downstream build'
- 'make -f Makefile.downstream standalone_prepare operator_prepare checkstyle'
- 'mvn verify -pl :claire,:common'
# For merge requests do not `deploy` but only run `verify`.
# See https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
.verify: &verify
stage: test
script:
- 'mvn $MAVEN_CLI_OPTS verify site site:stage'
except:
- master
validate:jdk17:
<<: *validate
# image: registry.access.redhat.com/ubi8/openjdk-17
image: registry.access.redhat.com/ubi9/ubi-minimal
tags: ["docker"]