-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
75 lines (68 loc) · 2.85 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
language: go
sudo: false
go: 1.9.2
before_install:
- set -o errexit
- set -o errtrace
# - set -o nounset # TravisCI is unclean
- set -o pipefail
- go get -u github.com/mitchellh/gox
- go get -u github.com/golang/lint/golint
addons:
apt:
sources:
- debian-sid # Grab ShellCheck from the Debian repo
packages:
- shellcheck
# dpkg-deb: error: archive '/var/cache/apt/archives/silversearcher-ag_2.1.0-1_amd64.deb' has premature member 'control.tar.xz' before 'control.tar.gz', giving up
# - silversearcher-ag FIXME
before_script:
- go version
- shellcheck --version
- git --version
# - ag --version
script:
- shellcheck misc/latest.sh
# - ! ag 'return\s+}\s+return' # Missing / weak golint: first return can be dropped
# - ! ag '^\s+fmt\.[^\n]+\n\s+log\.Print' # lint: log first then fmt
- bash -c "! git --no-pager grep -InE 'log.Println\(\"\[...\] \",'" # lint: log.Println does not need the space before log level
- golint -set_exit_status
- |
if [[ "$TRAVIS_TAG" != '' ]]; then
echo -e "package main\n\n// Version of testman\nconst binVersion = \"$TRAVIS_TAG\"\n" | gofmt > version.go
fi
- go generate
- go get -t -v ./...
- go fmt
- git --no-pager diff
- bash -c '[[ 0 -eq $(git --no-pager diff --name-only | grep -v version.go | wc -l) ]]'
- go vet $(go list ./... | grep -v /vendor/)
- go test -v -race .
- gox -os 'linux darwin windows' -arch 'amd64' -output 'testman-{{.OS}}_{{.Arch}}' -ldflags "-X main.Rev=$(git describe --abbrev --dirty --always --tags)" -verbose .
- ./testman-linux_amd64 -h | grep testman
- ./testman-linux_amd64 --help | grep testman
- |
if [[ "$TRAVIS_TAG" != '' ]]; then
./testman-linux_amd64 -V | grep "testman/$TRAVIS_TAG"
./testman-linux_amd64 --version | grep "testman/$TRAVIS_TAG"
else
./testman-linux_amd64 -V | grep testman/0.0.0
./testman-linux_amd64 --version | grep testman/0.0.0
fi
- ls -lha
after_script:
- set +e
deploy:
provider: releases
api_key:
secure: UdW+GxuqS1fYtFjtquBZOUw24wfhG0Cqq5IHTGcCzPZLYyxwTFpG0VZCa9y+ysLZ5a65NM/X7hvc2pF/sNx1ftmOKr1yZ87jqzwh1o83HRZWsvklM9PGjAa42HM4TypYo4FOT9LENN0+oKvGP+tHsFb9v4REyA20JtnHO+we5BN+sJena1fd0rIX9xy2PqpV3uPRqifKAHFwl8QLIg9K7pUGsRgdV+uvVpYvEDGONt8yMYA01pZJIIgqZWrRUecuyVfZnZDYr+Uh31KoXCqojqqgUX2nqoMUfnwBLTkSRtPnLMCI30B0bYSVEjBDbgMSdmVWb2435r1RqcceHL3+tf9zsEd4iZFNZR92DHeAffyP4xuiIcrLWVe/YHD42fUUCXepBUo0z2ZWsfwuHaIZVQC56ilV/uR9fhi/b630jMMMe2XwOBjPUovv/BArxqZ6MZcG2/cjKlP+rLVREogbtes1pAYElQnDr4weB4eLWWicb06yi+pI1O2nVcjKX/OtB316tdtVDugvXj/PMXPDBFpUdIM4RkgVMAh99gXVg0MXAODS5TbDUgSMFRgVeMAePu0PIlVo8vqHirHeHLa4ahkKrk1VowMMBxVZFreEzBtlwCsxRbKAa9RbL+pdMaBvSXQGkOizXysQuhUdWKQnkpiy+PiEuuQNfFGhweWYjsw=
skip_cleanup: true
overwrite: true
file_glob: true
file: testman-*
on:
repo: CoveredCI/testman
tags: true
notifications:
email:
on_success: never