blob: d9281868b340e304b324014bebad61ceeffdf735 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
language: java
os: linux
dist: bionic
arch: amd64
jdk:
- openjdk11
cache:
bundler: false
cargo: false
directories:
- '$HOME/.m2'
git:
depth: 2
env:
global:
- MAVEN_OPTS="-Xmx4096M -Xss128M -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -noverify"
- JAVAEE_CONTAINER=Tomcat
- DBMS=H2
- jaxrsContentType=application/json
- TestCommand="mvn -U -T 1C clean test -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Dsass.skip=true"
before_install:
- wget https://github.com/sormuras/bach/raw/master/install-jdk.sh -O ~/install-jdk.sh && chmod +x ~/install-jdk.sh
install: true
notifications:
email:
- dev@syncope.apache.org
stages:
- build
- validate
- test
- fit
jobs:
include:
- stage: build
name: "Build"
script: mvn -U --quiet -T 1C -P skipTests,all
#######################################################
- stage: validate
name: "Checkstyle, Legal Files, Modernizer and Release Audit Tool (RAT) Analysis"
script: mvn -T 1C checkstyle:check ianal:verify-legal-files modernizer:modernizer apache-rat:check
######################################################
- stage: test
name: "Unit Tests via JDK 11"
script: eval $TestCommand
- stage: test
name: "Unit Tests via JDK 14"
script:
- ~/install-jdk.sh --target "/home/travis/openjdk14" --workspace "/home/travis/.cache/install-jdk" --feature "14" --license "GPL" --cacerts
- export JAVA_HOME=~/openjdk14
- export PATH="$JAVA_HOME/bin:$PATH"
- eval $TestCommand
- stage: test
name: "Unit Tests via JDK 15"
script:
- ~/install-jdk.sh --target "/home/travis/openjdk15" --workspace "/home/travis/.cache/install-jdk" --feature "15" --license "GPL" --cacerts
- export JAVA_HOME=~/openjdk15
- export PATH="$JAVA_HOME/bin:$PATH"
- eval $TestCommand
- stage: test
name: "Persistence Unit Tests via JDK 11: PostgreSQL (JSONB)"
script: mvn -f core/persistence-jpa-json/pom.xml -P postgres -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Dsass.skip=true
- stage: test
name: "Persistence Unit Tests via JDK 11: MySQL (JSON)"
script: mvn -f core/persistence-jpa-json/pom.xml -P mysql -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Dsass.skip=true
######################################################
- stage: fit
name: "Integration Tests: Tomcat / H2 / JSON Content-Type"
script: mvn -f fit/core-reference/pom.xml verify -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Tomcat / H2 / XML Content-Type"
script: mvn -f fit/core-reference/pom.xml verify -Djaxrs.content.type=application/xml -Dit.test=org.apache.syncope.fit.core.*ITCase -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Tomcat / H2 / YAML Content-Type"
script: mvn -f fit/core-reference/pom.xml verify -Djaxrs.content.type=application/yaml -Dit.test=org.apache.syncope.fit.core.*ITCase -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Wildfly / H2 / JSON Content-Type"
script: mvn -f fit/core-reference/pom.xml -P wildfly-it -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Payara / H2 / JSON Content-Type"
script: mvn -f fit/core-reference/pom.xml -P payara-it -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Tomcat / PostgreSQL / JSON Content-Type"
script: mvn -f fit/core-reference/pom.xml -P postgres-it -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Tomcat / PostgreSQL (JSONB) / JSON Content-Type"
script: mvn -f fit/core-reference/pom.xml -P pgjsonb-it -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Tomcat / MySQL / JSON Content-Type"
script: mvn -f fit/core-reference/pom.xml -P mysql-it -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Tomcat / MySQL (JSON) / JSON Content-Type"
script: mvn -f fit/core-reference/pom.xml -P myjson-it -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Tomcat / MariaDB / JSON Content-Type"
script: mvn -f fit/core-reference/pom.xml -P mariadb-it -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Tomcat / H2 / JSON Content-Type + Elasticsearch"
script: mvn -f fit/core-reference/pom.xml -P elasticsearch-it -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: Tomcat / H2 / JSON Content-Type + Zookeeper"
script: mvn -f fit/core-reference/pom.xml -P zookeeper-it -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
- stage: fit
name: "Integration Tests: SRA and WA"
script: mvn -f fit/wa-reference/pom.xml verify -Dinvoker.streamLogs=true -Dmodernizer.skip=true -Dianal.skip=true -Drat.skip=true -Dcheckstyle.skip=true -Djacoco.skip=true
#####################################################