github.com/rohankumardubey/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