language: go
arch:
    - amd64
    - ppc64le
go:
 - 1.9.x
 - 1.10.x
 - 1.11.x
 - 1.12.x
 - 1.13.x
# allowing test cases to fail  for the versions were not suppotred by ppc64le 
matrix:
  allow_failures:
                - go: 1.9.x
                - go: 1.10.x
                - go: 1.13.x


script:
 - go test -v -race ./...
 - GOOS=linux   GOARCH=amd64   go build .
 - GOOS=linux   GOARCH=arm     go build .
 - GOOS=linux   GOARCH=arm64   go build .
 - GOOS=linux   GOARCH=ppc64le go build .
 - GOOS=linux   GOARCH=mips64le go build .
 - (go version | grep go1.6 > /dev/null) || GOOS=linux   GOARCH=s390x   go build .
# can be compiled but not functional:
 - GOOS=linux   GOARCH=386     go build .
 - GOOS=windows GOARCH=amd64   go build .
