| # 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 |