language: go os: - linux - osx - windows arch: - amd64 - arm64 - ppc64le - s390x go: - 1.12.x - 1.13.x - 1.14.x - master install: - go get ./... script: - go vet ./... - go test -cpu=1,2 . - go test -tags=noasm -cpu=1,2 . - go build examples/simple-decoder.go - go build examples/simple-encoder.go - go build examples/stream-decoder.go - go build examples/stream-encoder.go stages: - gofmt - test - deploy jobs: allow_failures: - go: 'master' fast_finish: true include: - stage: gofmt go: 1.14.x os: linux arch: amd64 script: - diff <(gofmt -d .) <(printf "") - diff <(gofmt -d ./examples) <(printf "") - go install github.com/klauspost/asmfmt/cmd/asmfmt - diff <(asmfmt -d .) <(printf "") - stage: race go: 1.14.x os: linux arch: amd64 script: - go test -cpu=1 -short -race . - go test -cpu=2 -short -race . - go test -tags=noasm -cpu=1 -short -race . - go test -tags=noasm -cpu=4 -short -race . - go test -no-avx512 -short -race . - go test -no-avx512 -no-avx2 -short -race . - go test -no-avx512 -no-avx2 -no-ssse3 -short -race . - stage: amd64-noasm go: 1.14.x os: linux arch: amd64 script: - go test -no-avx512 - go test -no-avx512 -no-avx2 - go test -no-avx512 -no-avx2 -no-ssse3 - stage: i386 go: 1.14.x os: linux arch: amd64 script: - GOOS=linux GOARCH=386 go test -short .