name: Go on: push: branches: - main pull_request: branches: - main workflow_dispatch: jobs: build: strategy: matrix: go: [1.16, 1.17, 1.18] 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:v2.1.1 env: MODE: standalone ports: - "8848:8848" - "9848:9848" polaris: image: polarismesh/polaris-server-standalone:v1.9.0 ports: - 8090:8090 - 8091:8091 - 8093:8093 steps: - uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v3.2.1 with: go-version: ${{ matrix.go }} - 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 ./...