From d89a28a93a7c988efefa90de811bce384e963f56 Mon Sep 17 00:00:00 2001 From: Gavin Schneider Date: Thu, 8 Nov 2018 16:51:29 -0800 Subject: [PATCH] Improve travis-ci test and deploy phases (#1) - Add OpenJDK 8 and 11 runtimes - Make sure checkstyle runs during test phase - Move deploy into a stage so it only runs once after tests pass - Reduce log noise from maven downloads - Cache maven repo - Add badges to readme - Add a release maven profile --- .gitignore | 2 + .travis.yml | 49 ++++++++++------- .travis/deploy.sh | 2 +- README.md | 3 ++ pom.xml | 130 +++++++++++++++++++++++++--------------------- 5 files changed, 109 insertions(+), 77 deletions(-) diff --git a/.gitignore b/.gitignore index 84ba128..fa50b33 100644 --- a/.gitignore +++ b/.gitignore @@ -77,6 +77,8 @@ atlassian-ide-plugin.xml # Maven /.repostory/ +# Visual Studio Code +/.vscode/ # PD Build Tools # ################## diff --git a/.travis.yml b/.travis.yml index 8e46a9f..f6c8ad8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,25 +1,38 @@ language: java jdk: - oraclejdk8 -install: - - mvn --settings .travis/settings.xml install -DskipTests=true -Dgpg.skip -Dmaven.javadoc.skip=true -B -V + - openjdk8 + - openjdk11 +matrix: + allow_failures: + - jdk: openjdk11 +install: true before_install: - if [ ! -z "$GPG_SECRET_KEYS" ]; then echo $GPG_SECRET_KEYS | base64 --decode | $GPG_EXECUTABLE --import; fi - if [ ! -z "$GPG_OWNERTRUST" ]; then echo $GPG_OWNERTRUST | base64 --decode | $GPG_EXECUTABLE --import-ownertrust; fi -deploy: - - - provider: script - script: .travis/deploy.sh - skip_cleanup: true - on: - repo: rapid7/docker-image-analyzer - branch: master - jdk: oraclejdk8 - - - provider: script - script: .travis/deploy.sh - skip_cleanup: true - on: - repo: rapid7/docker-image-analyzer - tags: true +script: + - mvn test -Dgpg.skip -Dmaven.javadoc.skip=true -B -V -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn +jobs: + include: + - stage: deploy + if: branch =~ /^(?:master|\d+\.\d+(\.\d+)?(-\S*)?)$/ AND type != pull_request AND fork = false + script: skip jdk: oraclejdk8 + deploy: + - + provider: script + script: .travis/deploy.sh + skip_cleanup: true + on: + repo: rapid7/docker-image-analyzer + branch: master + - + provider: script + script: .travis/deploy.sh + skip_cleanup: true + on: + repo: rapid7/docker-image-analyzer + tags: true +cache: + directories: + - $HOME/.m2 diff --git a/.travis/deploy.sh b/.travis/deploy.sh index d8109d2..2a04564 100755 --- a/.travis/deploy.sh +++ b/.travis/deploy.sh @@ -6,4 +6,4 @@ else echo "not on a tag -> keep snapshot version in pom.xml" fi -mvn clean deploy --settings .travis/settings.xml -DskipTests=true -B -U +mvn clean deploy --settings .travis/settings.xml -DskipTests=true -Dmaven.antrun.skip=true -Prelease -B -V -U -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn diff --git a/README.md b/README.md index b403e4a..d3779f1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ ## Docker Image Analyzer + +[![Travis (.org)](https://img.shields.io/travis/rapid7/docker-image-analyzer.svg)](https://travis-ci.org/rapid7/docker-image-analyzer) [![Maven Central](https://img.shields.io/maven-central/v/com.rapid7.docker/docker-image-analyzer.svg)](https://search.maven.org/artifact/com.rapid7.docker/docker-image-analyzer) + Extracts, parses, and analyzes [Docker](https://www.docker.com) images into Java objects with JSON mappings. ## Getting Started diff --git a/pom.xml b/pom.xml index dc7eba8..827d6f0 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ - 1.0.5 + 0.7.0 1.8 1.8 UTF-8 @@ -26,7 +26,7 @@ - org.rapid7.recog + com.rapid7.recog recog-java ${r7.recog.java.version} @@ -155,62 +155,6 @@ - org.apache.maven.plugins maven-checkstyle-plugin @@ -222,6 +166,7 @@ checkstyle + validate check @@ -241,4 +186,73 @@ + + + release + + + release + + + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.3 + true + + ossrh + https://oss.sonatype.org/ + true + + + + + org.apache.maven.plugins + maven-source-plugin + 3.0.1 + + + attach-sources + + jar-no-fork + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.9.1 + + + attach-javadocs + + jar + + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.5 + + + sign-artifacts + verify + + sign + + + + + + + +