152 lines
4.4 KiB
YAML
152 lines
4.4 KiB
YAML
language: go
|
|
|
|
go:
|
|
- 1.8
|
|
- tip
|
|
|
|
matrix:
|
|
allow_failures:
|
|
- go: tip
|
|
fast_finish: true
|
|
|
|
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
|
|
- 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:
|
|
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_PATH="$HOME/osxcross"
|
|
- OSXCROSS_REV=3034f7149716d815bc473d0a7b35d17e4cf175aa
|
|
- SDK_VERSION=10.11
|
|
- DARWIN_VERSION=15
|
|
- OSX_VERSION_MIN=10.6
|
|
- OSXCROSS_SDK_URL="https://github.com/phracker/MacOSX-SDKs/releases/download/10.13/MacOSX10.11.sdk.tar.xz"
|
|
- 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
|
|
- mkdir -p /tmp/osxcross
|
|
- cd /tmp/osxcross
|
|
- curl -sSL "https://codeload.github.com/tpoechtrager/osxcross/tar.gz/${OSXCROSS_REV}" | tar -C /tmp/osxcross --strip=1 -xzf -
|
|
- curl -s -S -L -o tarballs/MacOSX${SDK_VERSION}.sdk.tar.xz ${OSXCROSS_SDK_URL}
|
|
- UNATTENDED=yes ./build.sh >/dev/null
|
|
- mv target "${OSXCROSS_PATH}"
|
|
- rm -rf /tmp/osxcross "${OSXCROSS_PATH}/SDK/MacOSX${SDK_VERSION}.sdk/usr/share/man"
|
|
- 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
|