language: go go: - 1.9.x - tip addons: apt: packages: - libonig-dev matrix: allow_failures: - go: tip fast_finish: true env: - ONIGURUMA=0 - ONIGURUMA=1 install: - go version - 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 [ "$ONIGURUMA" == "1" ]; then make oniguruma; 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: - ONIGURUMA=0 include: - stage: test language: scala jdk: oraclejdk8 install: - GIMME_OUTPUT=$(gimme 1.9 | 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 install: - GIMME_OUTPUT=$(gimme 1.9 | 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: - 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