go.yml 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. name: Go
  2. on:
  3. push:
  4. branches: [ master,release-* ]
  5. pull_request:
  6. branches: [ master,release-* ]
  7. jobs:
  8. build:
  9. name: Build
  10. runs-on: ubuntu-latest
  11. services:
  12. redis:
  13. image: redis
  14. ports:
  15. - 6379:6379
  16. options: --entrypoint redis-server
  17. memcached:
  18. image: memcached
  19. ports:
  20. - 11211:11211
  21. steps:
  22. - name: Set up Go 1.x
  23. uses: actions/setup-go@v2
  24. with:
  25. go-version: ^1.13
  26. id: go
  27. - name: Check out code into the Go module directory
  28. uses: actions/checkout@v2
  29. - name: Get dependencies
  30. run: |
  31. go get -v -t -d ./...
  32. if [ -f Gopkg.toml ]; then
  33. curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
  34. dep ensure
  35. fi
  36. - name: Lint Go Code
  37. run: |
  38. export PATH=$PATH:$(go env GOPATH)/bin # temporary fix. See https://github.com/actions/setup-go/issues/14
  39. go get -u golang.org/x/lint/golint
  40. go vet ./...
  41. golint -set_exit_status $(go list ./...)
  42. - name: Test
  43. run: go test -v -race ./...