name: Go on: push: branches: - main pull_request: branches: - main workflow_dispatch: jobs: build: name: build & test runs-on: ubuntu-latest services: etcd: image: gcr.io/etcd-development/etcd:v3.5.0 ports: - 2379:2379 env: ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379 ETCD_ADVERTISE_CLIENT_URLS: http://0.0.0.0:2379 consul: image: consul:latest ports: - 8500:8500 nacos: image: nacos/nacos-server:latest env: MODE: standalone ports: - "8848:8848" - "9848:9848" steps: - uses: actions/checkout@v2 - name: Set up Go uses: actions/setup-go@v2 with: go-version: 1.16 - name: Build run: go build ./... - name: Test run: make test-coverage - name: Upload coverage to Codecov run: bash <(curl -s https://codecov.io/bash) - name: Kratos run: | cd cmd/kratos go build ./... go test ./... - name: HTTP run: | cd cmd/protoc-gen-go-http go build ./... go test ./... - name: Examples run: | cd examples go build ./... go test ./...