blob: 0ade3ec3d3cf36a76de38c87f6c5219fd7985096 [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.
sudo: false
language: java
jdk:
- openjdk11
cache:
bundler: false
cargo: false
directories:
- $HOME/.m2
git:
depth: 2
matrix:
fast_finish: true
env:
global:
- MAVEN_OPTS="-Xmx4096M -Xss128M -XX:+CMSClassUnloadingEnabled -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -noverify"
install: true
notifications:
email:
- dev@syncope.apache.org
stages:
- initialize
- build
- validate
- test
- fit
jobs:
include:
- stage: initialize
script: mvn --quiet --show-version -T 4 enforcer:enforce
name: "Verify Platform"
- stage: initialize
script: mvn -T 4 clean dependency:go-offline dependency:resolve-plugins --quiet -Denforcer.skip=true -U
name: "Warm Up Dependencies"
#######################################################
- stage: build
script: mvn install --quiet -T 4 -P all,skipTests,skipLegalFiles,docker -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Denforcer.skip=true
name: "Build"
#######################################################
- stage: validate
script: mvn checkstyle:check -T 4 -Denforcer.skip=true --quiet
name: "Checkstyle Analysis"
- stage: validate
script: mvn -T 4 --quiet javadoc:javadoc javadoc:test-javadoc -Denforcer.skip=true
name: "Javadoc Analysis"
- stage: validate
script: mvn -T 4 --quiet ianal:verify-legal-files -Denforcer.skip=true
name: "Legal Files Analysis"
- stage: validate
script: mvn -T 4 --quiet modernizer:modernizer
name: "Modernizer Legacy API Analysis"
- stage: validate
script: mvn -T 4 --quiet apache-rat:check
name: "Release Audit Tool (RAT) Analysis"
######################################################
- stage: test
script: mvn clean test -T 4 -P skipLegalFiles,skipSass -T 4 --quiet -Dinvoker.streamLogs=true -Denforcer.skip=true -Dmodernizer.skip=true
name: "Unit Tests"
######################################################
- stage: fit
script: travis_wait 55 mvn -f fit/core-reference/pom.xml verify -P full-it,all,skipLegalFiles,skipSass -T 4 -Dinvoker.streamLogs=true -Denforcer.skip=true -Dmodernizer.skip=true -Djacoco.skip=true -Drat.skip=true
name: "Full Integration Tests via JSON Content-Type"
# - stage: fit
# script: travis_wait 55 mvn -f fit/core-reference/pom.xml verify -P full-it,all,skipLegalFiles,skipSass -T 4 -DjaxrsContentType=application/xml -Dinvoker.streamLogs=true -Denforcer.skip=true -Dmodernizer.skip=true -Djacoco.skip=true -Drat.skip=true
# name: "Full Integration Tests via XML Content-Type"
# - stage: fit
# script: travis_wait 55 mvn -f fit/core-reference/pom.xml verify -P full-it,all,skipLegalFiles,skipSass -T 4 -DjaxrsContentType=application/yaml -Dinvoker.streamLogs=true -Denforcer.skip=true -Dmodernizer.skip=true -Djacoco.skip=true -Drat.skip=true
# name: "Full Integration Tests via YAML Content-Type"
#####################################################
after_failure:
- cat fit/core-reference/target/log/*
- cat fit/core-reference/target/failsafe-reports/org.apache.syncope.fit.*-output.txt