1language: go
2
3sudo: false
4
5os:
6  - linux
7  - osx
8
9go:
10  - 1.11.x
11  - 1.12.x
12  - 1.13.x
13  - master
14
15install:
16 - go get -t ./...
17 - go get github.com/klauspost/compress-fuzz
18
19script:
20 - diff <(gofmt -d .) <(printf "")
21 - go test -cpu=2 ./...
22 - go test -cpu=2 -tags=noasm ./...
23 - go test -cpu=1,4 -short -race ./...
24 - go build github.com/klauspost/compress/s2/cmd/s2c && go build github.com/klauspost/compress/s2/cmd/s2d && s2c s2c && s2d s2c.s2 && rm s2c && rm s2d && rm s2c.s2
25
26matrix:
27  allow_failures:
28    - go: 'master'
29  fast_finish: true
30
31jobs:
32  include:
33    - stage: Build, Unit-Tests & Fuzz-Tests
34      go: 1.13.x
35      script:
36        - ./fuzzit.sh local-regression
37
38    - stage: Fuzzit (Fuzzing)
39      if: branch = master AND type IN (push)
40      go: 1.13.x
41      script:
42        - ./fuzzit.sh fuzzing
43
44    - stage: 386 linux test
45      go: 1.13.x
46      script:
47        - GOOS=linux GOARCH=386 go test -short ./...
48
49deploy:
50- provider: script
51  skip_cleanup: true
52  script: curl -sL https://git.io/goreleaser | bash
53  on:
54    tags: true
55    condition: $TRAVIS_OS_NAME = linux
56    go: 1.13.x
57