go-enry/.travis.yml
Juanjo Alvarez bb027340fb
Use a precompiled package for osxcross for CI.
Signed-off-by: Juanjo Alvarez <juanjo@sourced.tech>
2017-11-21 15:29:36 +01:00

155 lines
4.1 KiB
YAML

language: go
go:
- 1.9.x
- tip
addons:
apt:
packages:
- libonig-dev
matrix:
allow_failures:
- go: tip
fast_finish: true
env:
- ONIGUMURA=0
- ONIGUMURA=1
install:
- rm -rf $GOPATH/src/gopkg.in/src-d
- mkdir -p $GOPATH/src/gopkg.in/src-d
- ln -s $PWD $GOPATH/src/gopkg.in/src-d/enry.v1
- cd $GOPATH/src/gopkg.in/src-d/enry.v1
- if [ "$ONIGUMURA" == "1" ]; then make onigumura; fi
- go get -v -t ./...
script:
- make test-coverage
after_success:
- bash <(curl -s https://codecov.io/bash)
before_deploy:
- make packages
deploy:
provider: releases
api_key:
secure: $GITHUB_TOKEN
file_glob: true
file: build/*.tar.gz
skip_cleanup: true
on:
tags: true
jobs:
env:
- ONIGUMURA=0
include:
- stage: test
language: scala
jdk: oraclejdk8
install:
- GIMME_OUTPUT=$(gimme 1.8 | tee -a $HOME/.bashrc) && eval "$GIMME_OUTPUT"
- export GOPATH=$HOME/gopath
- mkdir -p $GOPATH/src/gopkg.in/src-d/enry.v1
- rsync -az ${TRAVIS_BUILD_DIR}/ $GOPATH/src/gopkg.in/src-d/enry.v1
- go get -v gopkg.in/src-d/enry.v1/...
before_script:
- cd java
- make
script:
- make test
before_deploy:
- cd ..
deploy:
provider: releases
api_key:
secure: $GITHUB_TOKEN
file:
- ./.shared/linux-x86-64/libenry.so
skip_cleanup: true
on:
tags: true
- stage: Build macOS shared
env:
- OSXCROSS_PACKAGE="osxcross_3034f7149716d815bc473d0a7b35d17e4cf175aa.tar.gz"
- OSXCROSS_URL="https://github.com/bblfsh/client-scala/releases/download/v1.5.2/${OSXCROSS_PACKAGE}"
- PATH="/$HOME/osxcross/bin:$PATH"
sudo: true
install:
- if [[ -z "$TRAVIS_TAG" ]]; then echo "Skipping this build for non-tag builds."; exit 0; fi
- rm -rf $GOPATH/src/gopkg.in/src-d
- mkdir -p $GOPATH/src/gopkg.in/src-d
- ln -s $PWD $GOPATH/src/gopkg.in/src-d/enry.v1
- cd $GOPATH/src/gopkg.in/src-d/enry.v1
- go get -v -t ./...
- sudo apt-get update
- sudo apt-get install -y --no-install-recommends clang g++ gcc gcc-multilib libc6-dev libc6-dev-i386 mingw-w64 patch xz-utils
- cd ${HOME}
- curl -sSL ${OSXCROSS_URL} | tar -C ${HOME} -xzf -
- cd $GOPATH/src/gopkg.in/src-d/enry.v1
script:
- make darwin-shared
before_deploy:
- echo "skip before_deploy"
deploy:
provider: releases
api_key:
secure: $GITHUB_TOKEN
file: ./.shared/darwin/libenry.dylib
skip_cleanup: true
on:
tags: true
- stage: Publish Maven
language: scala
jdk: oraclejdk8
before_script:
- if [[ -z "$TRAVIS_TAG" ]]; then echo "Skipping this build for non-tag builds."; exit 0; fi
- cd java
- make
- curl -o ./shared/linux-x86-64/libenry.so -sL "https://github.com/$TRAVIS_REPO_SLUG/releases/download/$TRAVIS_TAG/libenry.so"
- mkdir -p ./shared/darwin
- curl -o ./shared/darwin/libenry.dylib -sL "https://github.com/$TRAVIS_REPO_SLUG/releases/download/$TRAVIS_TAG/libenry.dylib"
- openssl aes-256-cbc -K $encrypted_a0e1c69dbbc7_key -iv $encrypted_a0e1c69dbbc7_iv -in key.asc.enc -out key.asc -d
- gpg --no-default-keyring --primary-keyring ./project/.gnupg/pubring.gpg --secret-keyring ./project/.gnupg/secring.gpg --keyring ./project/.gnupg/pubring.gpg --fingerprint --import key.asc
script:
- make test # ensure the shared objects are functional
- ./sbt publishLocal
- ./sbt publishSigned
- ./sbt sonatypeRelease
before_deploy:
- rm ./target/enry-java-*-javadoc.jar
- rm ./target/enry-java-*-sources.jar
- rm ./target/enry-java-*-tests.jar
- rm ./target/enry-java-assembly-*.jar
deploy:
provider: releases
api_key:
secure: $GITHUB_TOKEN
file_glob: true
file: ./target/enry-java*.jar
skip_cleanup: true
on:
tags: true