language: go sudo: required os: - linux go: - "1.11.x" - "1.12.x" - stable addons: apt: packages: - oracle-java9-set-default chrome: stable install: - go get -u github.com/mgechev/revive - go get -u github.com/golangci/golangci-lint/cmd/golangci-lint - sudo curl -o /usr/local/lib/antlr-4.7.1-complete.jar https://www.antlr.org/download/antlr-4.7.1-complete.jar - export CLASSPATH=".:/usr/local/lib/antlr-4.7.1-complete.jar:$CLASSPATH" - mkdir $HOME/travis-bin - echo -e '#!/bin/bash\njava -jar /usr/local/lib/antlr-4.7.1-complete.jar "$@"' > $HOME/travis-bin/antlr - echo -e '#!/bin/bash\njava org.antlr.v4.gui.TestRig "$@"' > $HOME/travis-bin/grun - chmod +x $HOME/travis-bin/* - export PATH=$PATH:$HOME/travis-bin - export GO111MODULE=on stages: - lint - compile - test - e2e - bench jobs: include: - stage: lint go: stable script: - make vet - make lint - make fmt - git diff - if [[ $(git diff) != '' ]]; then echo 'Invalid formatting!' >&2; exit 1; fi - stage: compile go: stable script: - make generate - make compile - stage: test script: - make cover - stage: e2e go: stable before_script: - google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 --disable-setuid-sandbox --no-sandbox about:blank & script: - make e2e after_script: - killall google-chrome-stable - stage: bench go: stable script: - make bench