gitlab.com/thomasboni/go-enry@v1.7.3/.travis.yml (about) 1 dist: trusty 2 3 language: go 4 go_import_path: gopkg.in/src-d/enry.v1 5 6 go: 7 - '1.11.6' # specific versions until https://github.com/golang/go/issues/31293 8 - '1.12.1' 9 env: 10 global: 11 - GO_VERSION_FOR_JVM='1.11.1' 12 - CGO_ENABLED=0 13 matrix: 14 - ONIGURUMA=0 15 - ONIGURUMA=1 16 matrix: 17 fast_finish: true 18 19 addons: 20 apt: 21 packages: 22 - libonig-dev 23 24 stages: 25 - name: test 26 - name: release 27 if: tag IS present 28 - name: publish 29 if: tag IS present 30 31 stage: test 32 install: 33 - > 34 if [[ "${ONIGURUMA}" -gt 0 ]]; then 35 export tags="${tags} oniguruma"; 36 export CGO_ENABLED=1; 37 fi; 38 - go get -v -t -tags "${tags}" ./... 39 script: 40 - make test-coverage 41 after_success: 42 - bash <(curl -s https://codecov.io/bash) 43 44 jobs: 45 include: 46 - name: 'java unit-tests' 47 stage: test 48 language: scala 49 jdk: oraclejdk8 50 before_install: 51 - export CGO_ENABLED=1 52 # mimics exact behavior of 'go_import_path' for non-go build image 53 - export GOPATH=${TRAVIS_HOME}/gopath 54 - mkdir -p ${GOPATH}/src/gopkg.in/src-d/enry.v1 55 - tar -Pczf ${TRAVIS_TMPDIR}/src_archive.tar.gz -C ${TRAVIS_BUILD_DIR} . && tar -Pxzf ${TRAVIS_TMPDIR}/src_archive.tar.gz -C ${TRAVIS_HOME}/gopath/src/gopkg.in/src-d/enry.v1 56 - export TRAVIS_BUILD_DIR=${TRAVIS_HOME}/gopath/src/gopkg.in/src-d/enry.v1 57 - cd ${TRAVIS_HOME}/gopath/src/gopkg.in/src-d/enry.v1 58 install: 59 - eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=$GO_VERSION_FOR_JVM bash)" 60 - go version 61 - echo $PWD; echo $GOPATH 62 - go get -v ./... 63 before_script: 64 - cd java 65 - make 66 script: 67 - make test 68 69 - name: 'linux packages' 70 stage: release 71 install: 72 - go version 73 - go get -v -t ./... 74 script: make packages 75 deploy: 76 provider: releases 77 api_key: 78 secure: $GITHUB_TOKEN 79 file_glob: true 80 file: build/*.tar.gz 81 skip_cleanup: true 82 on: 83 tags: true 84 85 - name: 'linux shared lib' 86 stage: release 87 install: 88 - go version 89 - go get -v -t ./... 90 script: make linux-shared 91 deploy: 92 provider: releases 93 api_key: 94 secure: $GITHUB_TOKEN 95 file: 96 - ./.shared/linux-x86-64/libenry.so 97 skip_cleanup: true 98 on: 99 tags: true 100 101 - name: 'macOS shared lib' 102 stage: release 103 sudo: true 104 env: 105 - OSXCROSS_PACKAGE="osxcross_3034f7149716d815bc473d0a7b35d17e4cf175aa.tar.gz" 106 - OSXCROSS_URL="https://github.com/bblfsh/client-scala/releases/download/v1.5.2/${OSXCROSS_PACKAGE}" 107 - PATH="/$HOME/osxcross/bin:$PATH" 108 install: 109 - go version 110 - go get -v -t ./... 111 - sudo apt-get update 112 - sudo apt-get install -y --no-install-recommends clang g++ gcc gcc-multilib libc6-dev libc6-dev-i386 mingw-w64 patch xz-utils 113 - cd ${HOME} 114 - curl -sfSL ${OSXCROSS_URL} | tar -C ${HOME} -xzf - 115 - cd $GOPATH/src/gopkg.in/src-d/enry.v1 116 script: make darwin-shared 117 deploy: 118 provider: releases 119 api_key: 120 secure: $GITHUB_TOKEN 121 file: ./.shared/darwin/libenry.dylib 122 skip_cleanup: true 123 on: 124 tags: true 125 126 - name: 'java: publish to maven' 127 stage: publish 128 language: scala 129 jdk: oraclejdk8 130 before_install: 131 - export CGO_ENABLED=1 132 # mimics exact behavior of 'go_import_path' for non-go build image 133 - export GOPATH=${TRAVIS_HOME}/gopath 134 - mkdir -p ${GOPATH}/src/gopkg.in/src-d/enry.v1 135 - tar -Pczf ${TRAVIS_TMPDIR}/src_archive.tar.gz -C ${TRAVIS_BUILD_DIR} . && tar -Pxzf ${TRAVIS_TMPDIR}/src_archive.tar.gz -C ${TRAVIS_HOME}/gopath/src/gopkg.in/src-d/enry.v1 136 - export TRAVIS_BUILD_DIR=${TRAVIS_HOME}/gopath/src/gopkg.in/src-d/enry.v1 137 - cd ${TRAVIS_HOME}/gopath/src/gopkg.in/src-d/enry.v1 138 install: 139 - eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=$GO_VERSION_FOR_JVM bash)" 140 - go version 141 - go get -v -t ./... 142 before_script: 143 - cd java 144 - make 145 - curl -o ./shared/linux-x86-64/libenry.so -sfL "https://github.com/$TRAVIS_REPO_SLUG/releases/download/$TRAVIS_TAG/libenry.so" || travis_terminate 1 146 - mkdir -p ./shared/darwin 147 - curl -o ./shared/darwin/libenry.dylib -sfL "https://github.com/$TRAVIS_REPO_SLUG/releases/download/$TRAVIS_TAG/libenry.dylib" || travis_terminate 1 148 - openssl aes-256-cbc -K $encrypted_a0e1c69dbbc7_key -iv $encrypted_a0e1c69dbbc7_iv -in key.asc.enc -out key.asc -d 149 - 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 150 script: 151 - make test # ensure the shared objects are functional 152 - ./sbt publishLocal 153 - ./sbt publishSigned 154 - ./sbt sonatypeRelease