mirror of
				https://github.com/go-kratos/kratos.git
				synced 2025-10-30 23:47:59 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			132 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Go
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches: [ master ]
 | |
|   pull_request:
 | |
|     branches: [ master ]
 | |
| 
 | |
| jobs:
 | |
| 
 | |
|   build:
 | |
|     name: Build on ${{ matrix.os }} - Go${{ matrix.go_version }}
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       matrix:
 | |
|         go_version:
 | |
|           - 1.13
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
| 
 | |
|     steps:
 | |
| 
 | |
|     - name: Set up Go ${{ matrix.go_version }}
 | |
|       uses: actions/setup-go@v1
 | |
|       with:
 | |
|         go-version: ${{ matrix.go_version }}
 | |
|       id: go
 | |
| 
 | |
|     - name: Set up Env
 | |
|       run: |
 | |
|         echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
 | |
|         echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
 | |
| 
 | |
|     - name: Check out code into the Go module directory
 | |
|       uses: actions/checkout@v2
 | |
| 
 | |
|     - name: Cache dependencies
 | |
|       uses: actions/cache@v2
 | |
|       with:
 | |
|         # Cache
 | |
|         path: ~/go/pkg/mod
 | |
|         # Cache key
 | |
|         key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
 | |
|         # An ordered list of keys to use for restoring the cache if no cache hit occurred for key
 | |
|         restore-keys: |
 | |
|           ${{ runner.os }}-go-
 | |
| 
 | |
|     - name: Get dependencies
 | |
|       run: |
 | |
|         go get -v -t -d ./...
 | |
|         if [ -f Gopkg.toml ]; then
 | |
|             curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
 | |
|             dep ensure
 | |
|         fi
 | |
| 
 | |
|     - name: Build
 | |
|       run: go build ./...
 | |
| 
 | |
|     - name: Golangci
 | |
|       run: |
 | |
|         curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.33.0
 | |
|         golangci-lint run --out-format=github-actions
 | |
| 
 | |
|     - name: Test
 | |
|       run: go test ./... -coverprofile=coverage.txt -covermode=atomic
 | |
| 
 | |
|     - name: Coverage
 | |
|       run: bash <(curl -s https://codecov.io/bash)
 | |
| 
 | |
|   scaffold:
 | |
| 
 | |
|     name: Scaffold Test on ${{ matrix.os }} - Go${{ matrix.go_version }}
 | |
|     runs-on: ${{ matrix.os }}
 | |
|     strategy:
 | |
|       matrix:
 | |
|         go_version:
 | |
|           - 1.13
 | |
|         os:
 | |
|           - ubuntu-latest
 | |
| 
 | |
|     steps:
 | |
| 
 | |
|     - name: Set up Go ${{ matrix.go_version }}
 | |
|       uses: actions/setup-go@v1
 | |
|       with:
 | |
|         go-version: ${{ matrix.go_version }}
 | |
|       id: go
 | |
| 
 | |
|     - name: Set up Env
 | |
|       run: |
 | |
|         echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
 | |
|         echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
 | |
| 
 | |
|     - name: Check out code into the Go module directory
 | |
|       uses: actions/checkout@v2
 | |
| 
 | |
|     - name: Cache dependencies
 | |
|       uses: actions/cache@v2
 | |
|       with:
 | |
|         # Cache
 | |
|         path: ~/go/pkg/mod
 | |
|         # Cache key
 | |
|         key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
 | |
|         # An ordered list of keys to use for restoring the cache if no cache hit occurred for key
 | |
|         restore-keys: |
 | |
|           ${{ runner.os }}-go-
 | |
| 
 | |
|     - name: Get dependencies
 | |
|       run: |
 | |
|         go get -v -t -d ./...
 | |
|         if [ -f Gopkg.toml ]; then
 | |
|             curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
 | |
|             dep ensure
 | |
|         fi
 | |
|         wget https://github.com/google/protobuf/releases/download/v3.11.4/protoc-3.11.4-linux-x86_64.zip
 | |
|         unzip protoc-3.11.4-linux-x86_64.zip
 | |
|         chmod +x bin/protoc
 | |
|         sudo mv bin/protoc /usr/local/bin
 | |
|         sudo mv include /usr/local/bin
 | |
|         go get -u github.com/golang/protobuf/protoc-gen-go
 | |
|         go get -u github.com/gogo/protobuf/protoc-gen-gofast
 | |
| 
 | |
|     - name: Tool
 | |
|       run: |
 | |
|         go install ./...
 | |
|         mkdir -p $GOPATH/src
 | |
|         cp -R ../kratos $GOPATH/src
 | |
|         cd $GOPATH/src
 | |
|         kratos new kratos-demo
 | |
|         cd kratos-demo
 | |
|         go build ./...
 |