dist: trusty git: depth: 9999999 language: go services: - docker addons: apt: sources: - ubuntu-toolchain-r-test packages: - libxml2-dev - gcc-6 - g++-6 go_import_path: gopkg.in/src-d/hercules.v3 go: - 1.8 - 1.9 stages: - test - deploy env: - PROTOC_VERSION=3.5.1 TENSORFLOW_VERSION=1.6.0 before_install: - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 90 - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 90 - 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/lint/golint - git clone --depth 1 https://github.com/src-d/go-git $GOPATH/src/gopkg.in/src-d/go-git.v4 - wget https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py --user && rm get-pip.py - export PATH=~/usr/bin:$PATH - make --version - pip3 --version - pip3 install --user -r requirements.txt tensorflow - docker run -d --privileged -p 9432:9432 --name bblfshd bblfsh/bblfshd - docker exec -it bblfshd bblfshctl driver install --all - 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: - make script: - set -e - go vet ./... - golint -set_exit_status ./... - go test -tags tensorflow -v -cpu=1,2 -coverprofile=coverage.txt -covermode=count gopkg.in/src-d/hercules.v3 - $GOPATH/bin/hercules version - $GOPATH/bin/hercules --burndown --couples --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 --quiet https://github.com/src-d/hercules | python3 labours.py -m all -o out --backend Agg --disable-projector - $GOPATH/bin/hercules --burndown --burndown-files --burndown-people --couples --quiet --pb https://github.com/src-d/hercules | python3 labours.py -f pb -m all -o out --backend Agg --disable-projector - $GOPATH/bin/hercules --sentiment --quiet --languages Python https://github.com/src-d/hercules - set +e after_success: - bash <(curl -s https://codecov.io/bash) jobs: include: - stage: deploy os: osx go: 1.9 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 after_success: - gzip -S .darwin_amd64.gz $GOPATH/bin/hercules script: skip install: - DISABLE_TENSORFLOW=1 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.9 before_install: - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 90 - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 90 - 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 - 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 script: skip install: - make 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 notifications: email: false