From 7df689646926f7f10b07f8d4d53d5b8eb8e651f6 Mon Sep 17 00:00:00 2001 From: Eric Arellano Date: Thu, 19 Jul 2018 14:08:10 -0400 Subject: [PATCH 1/3] Deduplicate test config --- .travis.yml | 302 +++++++--------------------------------------------- 1 file changed, 36 insertions(+), 266 deletions(-) diff --git a/.travis.yml b/.travis.yml index c14d354c145..7eef857f705 100644 --- a/.travis.yml +++ b/.travis.yml @@ -57,8 +57,30 @@ stages: - name: Deploy Pants Pex if: tag IS present AND tag =~ ^release_.*$ -# NB: There is much repetition in include elements, but there is no known current way to factor -# this duplication up. +default_test_config: &default_test_config + os: linux + dist: trusty + sudo: required + addons: + apt: + packages: + - lib32stdc++6 + - lib32z1 + - lib32z1-dev + - gcc-multilib + - python-dev + - openssl + - libssl-dev + stage: Test Pants + language: python + python: "2.7.13" + before_install: + # Remove bad openjdk6 from trusty image, so + # Pants will pick up oraclejdk6 from `packages` above. + - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 + - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 + - jdk_switcher use oraclejdk8 + matrix: include: - os: osx @@ -121,325 +143,73 @@ matrix: tags: true repo: pantsbuild/pants - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Various pants self checks and lint" script: - ./build-support/bin/ci.sh -x -cejlpn 'Various pants self checks and lint' - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Unit tests for pants and pants-plugins - shard 1" script: - ./build-support/bin/ci.sh -x -efkmrcnt -u 0/2 "${SHARD}" - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Unit tests for pants and pants-plugins - shard 2" script: - ./build-support/bin/ci.sh -x -efkmrcnt -u 1/2 "${SHARD}" - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Python contrib tests - shard 1" script: - ./build-support/bin/ci.sh -x -efkmrcjlpt -y 0/2 "${SHARD}" - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Python contrib tests - shard 2" script: - ./build-support/bin/ci.sh -x -efkmrcjlpt -y 1/2 "${SHARD}" - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 1" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 0/7 "${SHARD}" - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 2" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 1/7 "${SHARD}" - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 3" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 2/7 "${SHARD}" - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 4" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 3/7 "${SHARD}" - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 5" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 4/7 "${SHARD}" - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 6" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 5/7 "${SHARD}" - - os: linux - dist: trusty - sudo: required - addons: - apt: - packages: - - lib32stdc++6 - - lib32z1 - - lib32z1-dev - - gcc-multilib - - python-dev - - openssl - - libssl-dev - stage: Test Pants - language: python - python: "2.7.13" - before_install: - # Remove bad openjdk6 from trusty image, so - # Pants will pick up oraclejdk6 from `packages` above. - - sudo rm -rf /usr/lib/jvm/java-1.6.0-openjdk-amd64 - - sudo rm -rf /usr/lib/jvm/java-6-openjdk-amd64 - - jdk_switcher use oraclejdk8 + - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 7" script: From dd66ec38ae8ddb6091ebb1d68a254714f2bb63fd Mon Sep 17 00:00:00 2001 From: Eric Arellano Date: Thu, 19 Jul 2018 14:11:52 -0400 Subject: [PATCH 2/3] Add top level comments to tests --- .travis.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7eef857f705..566de041b52 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,6 +83,8 @@ default_test_config: &default_test_config matrix: include: + + # Build macOS engine - os: osx # We request the oldest image we can (corresponding to OSX 10.11) for maximum compatibility. # We use 10.11 as a minimum to avoid https://github.com/rust-lang/regex/issues/489. @@ -96,6 +98,7 @@ matrix: script: - ./pants --version && ./build-support/bin/release.sh -n + # Build Linux engine - os: linux stage: Test Pants language: generic @@ -122,6 +125,7 @@ matrix: after_failure: - build-support/bin/ci-failure.sh + # Deploy Pex - os: linux language: python stage: Deploy Pants Pex @@ -143,79 +147,91 @@ matrix: tags: true repo: pantsbuild/pants + # Linter - <<: *default_test_config env: - SHARD="Various pants self checks and lint" script: - ./build-support/bin/ci.sh -x -cejlpn 'Various pants self checks and lint' + # Unit tests - shard 1 - <<: *default_test_config env: - SHARD="Unit tests for pants and pants-plugins - shard 1" script: - ./build-support/bin/ci.sh -x -efkmrcnt -u 0/2 "${SHARD}" + # Unit tests - shard 2 - <<: *default_test_config env: - SHARD="Unit tests for pants and pants-plugins - shard 2" script: - ./build-support/bin/ci.sh -x -efkmrcnt -u 1/2 "${SHARD}" + # Contrib tests - shard 1 - <<: *default_test_config env: - SHARD="Python contrib tests - shard 1" script: - ./build-support/bin/ci.sh -x -efkmrcjlpt -y 0/2 "${SHARD}" + # Contrib tests - shard 2 - <<: *default_test_config env: - SHARD="Python contrib tests - shard 2" script: - ./build-support/bin/ci.sh -x -efkmrcjlpt -y 1/2 "${SHARD}" + # Integration tests - shard 1 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 1" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 0/7 "${SHARD}" + # Integration tests - shard 2 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 2" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 1/7 "${SHARD}" + # Integration tests - shard 3 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 3" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 2/7 "${SHARD}" + # Integration tests - shard 4 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 4" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 3/7 "${SHARD}" + # Integration tests - shard 5 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 5" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 4/7 "${SHARD}" + # Integration tests - shard 6 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 6" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 5/7 "${SHARD}" + # Integration tests - shard 7 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 7" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 6/7 "${SHARD}" - # Rust tests + # Rust on linux - os: linux dist: trusty sudo: required @@ -239,6 +255,7 @@ matrix: script: - ./build-support/bin/ci.sh -bcfjklmnprtx + # Rust on macOS - os: osx # Fuse actually works on this image. It hangs on many others. osx_image: xcode8.3 From 5d1b0a167ff4451e69ff6a860d3b12631a7dde94 Mon Sep 17 00:00:00 2001 From: Eric Arellano Date: Thu, 19 Jul 2018 14:32:01 -0400 Subject: [PATCH 3/3] Remove commments for tests using default config --- .travis.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 566de041b52..5bc48bbab70 100644 --- a/.travis.yml +++ b/.travis.yml @@ -147,84 +147,72 @@ matrix: tags: true repo: pantsbuild/pants - # Linter - <<: *default_test_config env: - SHARD="Various pants self checks and lint" script: - ./build-support/bin/ci.sh -x -cejlpn 'Various pants self checks and lint' - # Unit tests - shard 1 - <<: *default_test_config env: - SHARD="Unit tests for pants and pants-plugins - shard 1" script: - ./build-support/bin/ci.sh -x -efkmrcnt -u 0/2 "${SHARD}" - # Unit tests - shard 2 - <<: *default_test_config env: - SHARD="Unit tests for pants and pants-plugins - shard 2" script: - ./build-support/bin/ci.sh -x -efkmrcnt -u 1/2 "${SHARD}" - # Contrib tests - shard 1 - <<: *default_test_config env: - SHARD="Python contrib tests - shard 1" script: - ./build-support/bin/ci.sh -x -efkmrcjlpt -y 0/2 "${SHARD}" - # Contrib tests - shard 2 - <<: *default_test_config env: - SHARD="Python contrib tests - shard 2" script: - ./build-support/bin/ci.sh -x -efkmrcjlpt -y 1/2 "${SHARD}" - # Integration tests - shard 1 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 1" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 0/7 "${SHARD}" - # Integration tests - shard 2 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 2" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 1/7 "${SHARD}" - # Integration tests - shard 3 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 3" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 2/7 "${SHARD}" - # Integration tests - shard 4 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 4" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 3/7 "${SHARD}" - # Integration tests - shard 5 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 5" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 4/7 "${SHARD}" - # Integration tests - shard 6 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 6" script: - ./build-support/bin/ci.sh -x -efkmrjlpnt -i 5/7 "${SHARD}" - # Integration tests - shard 7 - <<: *default_test_config env: - SHARD="Python integration tests for pants - shard 7"