123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- dist: xenial
- sudo: required
- git:
- depth: 9999999
- language: go
- go_import_path: gopkg.in/src-d/hercules.v10
- go:
- - 1.10.x
- - 1.11.x
- services:
- - docker
- cache:
- directories:
- - $HOME/.cache/pip
- - $HOME/gopath/src
- before_cache:
- - cd $HOME/gopath
- - mv $HOME/gopath/src/gopkg.in/src-d/hercules.v10/vendor $HOME/gopath/src/gopkg.in/src-d/.vendor
- - rm -rf $HOME/gopath/src/gopkg.in/src-d/hercules.v10
- - mkdir $HOME/gopath/src/gopkg.in/src-d/hercules.v10
- - mv $HOME/gopath/src/gopkg.in/src-d/.vendor $HOME/gopath/src/gopkg.in/src-d/hercules.v10/vendor
- matrix:
- fast_finish: true
- allow_failures:
- - go: tip
- stages:
- - test
- - name: deploy
- # require any tag name to deploy
- if: tag =~ .*
- env:
- - PROTOC_VERSION=3.6.0 TENSORFLOW_VERSION=1.11.0
- before_install:
- - wget -O protoc.zip https://github.com/google/protobuf/releases/download/v$PROTOC_VERSION/protoc-$PROTOC_VERSION-linux-x86_64.zip
- - unzip -d ~/.local protoc.zip && rm protoc.zip
- - go get -v golang.org/x/lint/golint
- - go get -v github.com/golang/dep/cmd/dep
- - (wget -O - https://bootstrap.pypa.io/get-pip.py || wget -O - https://raw.githubusercontent.com/pypa/get-pip/master/get-pip.py) | sudo python3 - pip==18.1
- - export PATH=~/usr/bin:$GOPATH/bin:$PATH
- - make --version
- - pip3 --version
- - sudo pip3 install cython
- - sudo pip3 install tensorflow flake8 ./python
- - docker run -d --privileged -p 9432:9432 --name bblfshd bblfsh/bblfshd
- - docker exec -it bblfshd bblfshctl driver install python bblfsh/python-driver:latest
- - docker exec -it bblfshd bblfshctl driver install go bblfsh/go-driver:latest
- - docker exec -it bblfshd bblfshctl driver install java bblfsh/java-driver:latest
- - curl -L "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-$(go env GOOS)-x86_64-$TENSORFLOW_VERSION.tar.gz" | sudo tar -C /usr/local -xz
- - sudo ldconfig
- install:
- - git clean -xfd
- - travis_retry make TAGS=tensorflow
- script:
- - set -e
- - if [ $TRAVIS_GO_VERSION == "1.11.x" ]; then test -z "$(gofmt -s -l . | grep -v vendor/)"; fi
- - go vet -tags tensorflow ./...
- - golint -set_exit_status $(go list ./... | grep -v /vendor/)
- - cd python && flake8 && cd ..
- - go test -coverpkg=all -v -coverprofile=coverage.txt -covermode=count gopkg.in/src-d/hercules.v10/... && sed -i '/cmd\/hercules\|core.go/d' coverage.txt
- - # race checks increase the elapsed time by 10 minutes, we run them only in AppVeyor
- - $GOPATH/bin/hercules version
- - $GOPATH/bin/hercules --burndown --couples --devs --quiet --pb https://github.com/src-d/hercules > 1.pb
- - cp 1.pb 2.pb
- - $GOPATH/bin/hercules combine 1.pb 2.pb > 12.pb
- - ($GOPATH/bin/hercules generate-plugin -n MyPlug -o myplug && cd myplug && make)
- - (cd contrib/_plugin_example && make)
- - $GOPATH/bin/hercules --burndown --burndown-files --burndown-people --couples --devs --quiet https://github.com/src-d/hercules | labours -m all -o out --backend Agg --disable-projector
- - $GOPATH/bin/hercules --burndown --burndown-files --burndown-people --couples --devs --quiet --pb https://github.com/src-d/hercules | labours -f pb -m all -o out --backend Agg --disable-projector
- - # $GOPATH/bin/hercules --sentiment --quiet --languages Python https://github.com/src-d/hercules > /dev/null
- - set +e
- - if [ $TRAVIS_GO_VERSION == "1.11.x" ]; then bash <(curl -s https://codecov.io/bash); fi
- jobs:
- include:
- - stage: test
- addons: false
- language: generic
- env: DOCKER_BUILD=1
- before_install: skip
- install: skip
- script: docker build -t srcd/hercules .
- - stage: deploy
- os: osx
- osx_image: xcode9.3
- go: 1.11.x
- go_import_path: gopkg.in/src-d/hercules.v10
- before_install:
- - wget -O protoc.zip https://github.com/google/protobuf/releases/download/v$PROTOC_VERSION/protoc-$PROTOC_VERSION-osx-x86_64.zip
- - unzip -d ~/.local protoc.zip && rm protoc.zip
- - go get -v github.com/golang/dep/cmd/dep
- - export PATH=$GOPATH/bin:$PATH
- after_success:
- - gzip -S .darwin_amd64.gz $GOPATH/bin/hercules
- script: skip
- install:
- - travis_retry make
- deploy:
- provider: releases
- api_key:
- secure: $GITHUB_TOKEN
- file: "$GOPATH/bin/hercules.darwin_amd64.gz"
- skip_cleanup: true
- on:
- tags: true
- - stage: deploy
- os: linux
- go: 1.11.x
- go_import_path: gopkg.in/src-d/hercules.v10
- before_install:
- - wget -O protoc.zip https://github.com/google/protobuf/releases/download/v$PROTOC_VERSION/protoc-$PROTOC_VERSION-linux-x86_64.zip
- - unzip -d ~/.local protoc.zip && rm protoc.zip
- - go get -v github.com/golang/dep/cmd/dep
- - export PATH=$GOPATH/bin:$PATH
- - pip install twine pyopenssl
- script:
- - test $(python3 python/setup.py --version) == $TRAVIS_TAG
- install:
- - set -e
- - travis_retry make
- - cd python
- - python3 setup.py bdist_wheel
- - cd ..
- after_success:
- - gzip -S .linux_amd64.gz $GOPATH/bin/hercules
- deploy:
- - provider: releases
- api_key:
- secure: $GITHUB_TOKEN
- file: "$GOPATH/bin/hercules.linux_amd64.gz"
- skip_cleanup: true
- on:
- tags: true
- - provider: script
- script: twine upload python/dist/*py3-none-any* -u $PYPI_LOGIN -p $PYPI_PASS
- skip_cleanup: true
- on:
- tags: true
- notifications:
- email: false
|