summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2019-07-09 03:27:45 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2019-07-09 03:27:45 +0800
commit811a6c84ebcb445374a89765cbc347398e8f5ee2 (patch)
tree09dd03475891e3871ca6db6c795a924d53b2f12a
parent996b05d3ff66f7d4fdda7e110fa14818e3e225a2 (diff)
downloadmill-811a6c84ebcb445374a89765cbc347398e8f5ee2.tar.gz
mill-811a6c84ebcb445374a89765cbc347398e8f5ee2.tar.bz2
mill-811a6c84ebcb445374a89765cbc347398e8f5ee2.zip
.
-rw-r--r--.travis.yml36
-rwxr-xr-xci/test-mill-bootstrap-0.sh (renamed from ci/test-mill-bootstrap.sh)2
-rwxr-xr-xci/test-mill-bootstrap-1.sh30
3 files changed, 48 insertions, 20 deletions
diff --git a/.travis.yml b/.travis.yml
index aa56d492..51699ea4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,50 +8,48 @@ git:
matrix:
include:
- stage: build
- name: Test Mill Release with some integration tests on Java 8
- script: ci/test-mill-release.sh
+ env: CI_SCRIPT=ci/test-mill-release.sh
jdk: oraclejdk8
- stage: build
- name: Test Mill Release with some integration tests on Java 9
- script: ci/test-mill-release.sh
+ env: CI_SCRIPT=ci/test-mill-release.sh
jdk: oraclejdk9
- stage: build
- name: Run dev.assembly and the use it to build main tests on Java 8
- script: ci/test-mill-dev.sh
+ env: CI_SCRIPT=ci/test-mill-dev.sh
jdk: oraclejdk8
- stage: build
- name: Run dev.assembly and the use it to build main tests on Java 9
- script: ci/test-mill-dev.sh
+ env: CI_SCRIPT=ci/test-mill-dev.sh
jdk: oraclejdk9
- stage: build
- script: ci/test-mill-bootstrap.sh
+ env: CI_SCRIPT=ci/test-mill-bootstrap-0.sh
jdk: oraclejdk9
- stage: build
- name: Run mill tests
- script: ci/test-mill-0.sh
+ env: CI_SCRIPT=ci/test-mill-bootstrap-1.sh
+ jdk: oraclejdk9
+
+ - stage: build
+ env: CI_SCRIPT=ci/test-mill-0.sh
jdk: oraclejdk8
- stage: build
- name: Run mill integration tests (part 1)
- script: ci/test-mill-1.sh
+ env: CI_SCRIPT=ci/test-mill-1.sh
jdk: oraclejdk8
- stage: build
- name: Run mill integration tests (part 2)
- script: ci/test-mill-2.sh
+ env: CI_SCRIPT=ci/test-mill-2.sh
jdk: oraclejdk9
- stage: release
- name: Publish mill to Maven Central and Github Releases
- script: "ci/on-master.py ci/release.sh"
+ env: CI_SCRIPT="ci/on-master.py ci/release.sh"
jdk: oraclejdk8
- stage: release
- name: Publish mill documentation site
- script: "ci/on-master.py ci/publish-docs.sh"
+ env: CI_SCRIPT="ci/on-master.py ci/publish-docs.sh"
jdk: oraclejdk8
+script:
+ - "$CI_SCRIPT"
+
cache:
directories:
- $HOME/.coursier
diff --git a/ci/test-mill-bootstrap.sh b/ci/test-mill-bootstrap-0.sh
index cb366732..93f299db 100755
--- a/ci/test-mill-bootstrap.sh
+++ b/ci/test-mill-bootstrap-0.sh
@@ -27,4 +27,4 @@ git clean -xdf
rm -rf ~/.mill
# Use second build to run tests using Mill
-~/mill-2 -i all {main,scalalib,scalajslib,contrib.twirllib,contrib.playlib,contrib.scalapblib,contrib.scoverage}.test
+~/mill-2 -i all {main,scalalib,scalajslib}.test
diff --git a/ci/test-mill-bootstrap-1.sh b/ci/test-mill-bootstrap-1.sh
new file mode 100755
index 00000000..00b4b857
--- /dev/null
+++ b/ci/test-mill-bootstrap-1.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+
+set -eux
+
+# Starting from scratch...
+git clean -xdf
+
+# First build
+./mill -i all __.publishLocal launcher
+cp out/launcher/dest/mill ~/mill-1
+
+# Clean up
+git clean -xdf
+
+rm -rf ~/.mill
+
+# Differentiate first and second builds
+echo "Build 2" > info.txt && git add info.txt && git commit -m "Add info.txt"
+
+# Second build
+~/mill-1 -i all __.publishLocal launcher
+cp out/launcher/dest/mill ~/mill-2
+
+# Clean up
+git clean -xdf
+
+rm -rf ~/.mill
+
+# Use second build to run tests using Mill
+~/mill-2 -i all contrib.{twirllib,playlib,scalapblib,scoverage}.test