Have Travis CI periodically try to build each subproject separately

If Gradle dependencies are set up correctly, then it should be
possible to build any subproject starting with a pristine tree.
These take too long to use for every commit, pull request, etc.  But
running an extensive test like this periodically (e.g., weekly) seems
reasonable.
This commit is contained in:
Ben Liblit 2018-05-21 16:59:40 -05:00 committed by Manu Sridharan
parent 36320a078c
commit 6be7a1a8a2
3 changed files with 259 additions and 2 deletions

View File

@ -38,3 +38,255 @@ matrix:
- os: osx - os: osx
env: BUILD_SYSTEM=gradle env: BUILD_SYSTEM=gradle
language: java language: java
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.ecj
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.test
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.test.data
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.html.nu_validator
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.nodejs
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.nodejs.test
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.rhino
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.rhino.test
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.test
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.test.data
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.test
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core.testdata
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core.tests
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.dalvik
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.dalvik.test
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jdt
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jdt.test
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jsdt
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jsdt.tests
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.tests
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.scandroid
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.shrike
language: java
jdk: oraclejdk8
if: type = cron
- os: linux
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.util
language: java
jdk: oraclejdk8
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.ecj
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.test
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.java.test.data
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.html.nu_validator
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.nodejs
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.nodejs.test
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.rhino
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.rhino.test
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.test
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.js.test.data
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.cast.test
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core.testdata
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.core.tests
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.dalvik
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.dalvik.test
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jdt
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jdt.test
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jsdt
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.jsdt.tests
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.ide.tests
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.scandroid
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.shrike
language: java
if: type = cron
- os: osx
env: BUILD_SYSTEM=gradle BUILD_ONLY_SUBMODULE=com.ibm.wala.util
language: java
if: type = cron

View File

@ -3,4 +3,6 @@
# initial p2AsMaven downloads are sometimes slow # initial p2AsMaven downloads are sometimes slow
travis_wait 30 ./gradlew --dry-run travis_wait 30 ./gradlew --dry-run
./gradlew --continue --no-build-cache assemble submodule=${BUILD_ONLY_SUBMODULE:+:$BUILD_ONLY_SUBMODULE:}
./gradlew --continue --no-build-cache "$submodule"assemble

View File

@ -5,4 +5,7 @@ case "$TRAVIS_OS_NAME" in
(osx) headless='' ;; (osx) headless='' ;;
esac esac
$headless ./gradlew --continue --no-build-cache --stacktrace build javadoc lintGradle $headless ./gradlew --continue --no-build-cache --stacktrace \
"$submodule"build \
"$submodule"javadoc \
lintGradle