From 9bf8c31fa9321558d7d02f6a5b687cd55a924e7f Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Sun, 12 Aug 2018 21:04:47 +0800 Subject: [PATCH] 0.0.1 --- .travis.yml | 25 +++++++++++++++++++++++++ ci/on-master.py | 10 ++++++++++ ci/publish-docs.sh | 20 ++++++++++++++++++++ ci/publish-local.sh | 7 +++++++ ci/release.sh | 19 +++++++++++++++++++ ci/test.sh | 5 +++++ 6 files changed, 86 insertions(+) create mode 100644 .travis.yml create mode 100755 ci/on-master.py create mode 100755 ci/publish-docs.sh create mode 100755 ci/publish-local.sh create mode 100755 ci/release.sh create mode 100755 ci/test.sh diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..b20b6351c9 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,25 @@ +language: scala +sudo: required +dist: trusty + +matrix: + include: + - stage: build + env: CI_SCRIPT=ci/test.sh + jdk: oraclejdk8 + + - stage: release + env: CI_SCRIPT="ci/on-master.py ci/release.sh" + jdk: oraclejdk8 + - stage: release + env: CI_SCRIPT="ci/on-master.py ci/publish-docs.sh" + jdk: oraclejdk8 + +script: + - curl -L -o ~/bin/mill https://github.com/lihaoyi/mill/releases/download/0.2.0/0.2.0-36-f8d1e7 && chmod +x ~/bin/mill + - export PATH=~/bin/mill:$PATH + - "$CI_SCRIPT" + +cache: + directories: + - $HOME/.coursier diff --git a/ci/on-master.py b/ci/on-master.py new file mode 100755 index 0000000000..9199f56baa --- /dev/null +++ b/ci/on-master.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python + +import os, sys, subprocess +is_master_commit = ( + os.environ["TRAVIS_PULL_REQUEST"] == "false" and + (os.environ["TRAVIS_BRANCH"] == "master" or os.environ["TRAVIS_TAG"] != "") +) + +if is_master_commit: + subprocess.check_call(sys.argv[1:]) diff --git a/ci/publish-docs.sh b/ci/publish-docs.sh new file mode 100755 index 0000000000..869f2e8d90 --- /dev/null +++ b/ci/publish-docs.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +set -eux + +curl -L -o ~/bin/amm https://github.com/lihaoyi/Ammonite/releases/download/1.1.0/2.12-1.1.0 && chmod +x ~/bin/amm + +cd docs + +echo $GITHUB_DEPLOY_KEY | base64 --decode > deploy_key + +eval "$(ssh-agent -s)" +chmod 600 deploy_key +ssh-add deploy_key +rm deploy_key + + +git config --global user.email "haoyi.sg+travis@gmail.com" +git config --global user.name "Ammonite Travis Bot" + +amm build.sc --publish true \ No newline at end of file diff --git a/ci/publish-local.sh b/ci/publish-local.sh new file mode 100755 index 0000000000..c137340dc2 --- /dev/null +++ b/ci/publish-local.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -eux + +mill -i all __.publishLocal release + +mv out/release/dest/mill ~/mill-release diff --git a/ci/release.sh b/ci/release.sh new file mode 100755 index 0000000000..28768dc045 --- /dev/null +++ b/ci/release.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +set -eux + +echo $GPG_PRIVATE_KEY_B64 | base64 --decode > gpg_key + +gpg --import gpg_key + +rm gpg_key + +mill mill.scalalib.PublishModule/publishAll \ + lihaoyi:$SONATYPE_PASSWORD \ + $GPG_PASSWORD \ + __.publishArtifacts \ + --release \ + true + + +mill uploadToGithub $GITHUB_ACCESS_TOKEN diff --git a/ci/test.sh b/ci/test.sh new file mode 100755 index 0000000000..65516bd3c6 --- /dev/null +++ b/ci/test.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -eux + +mill -i __.test.test \ No newline at end of file