1on: 2 push: 3 branches: 4 - master 5 pull_request: 6 branches: 7 - master 8name: Push 9jobs: 10 build: 11 runs-on: ubuntu-latest 12 strategy: 13 matrix: 14 goos: [darwin, linux, freebsd, netbsd, openbsd, solaris] 15 steps: 16 - name: Install Go 17 uses: actions/setup-go@v2 18 with: 19 go-version: 1.15.x 20 - name: Checkout code 21 uses: actions/checkout@v2 22 - name: Build 23 env: 24 GOOS: ${{ matrix.goos }} 25 CGO_ENABLED: 1 26 run: go build ./... 27 test: 28 strategy: 29 matrix: 30 go-version: [1.14.x, 1.15.x] 31 platform: [ubuntu-latest, macos-latest] 32 runs-on: ${{ matrix.platform }} 33 steps: 34 - name: Install Go 35 uses: actions/setup-go@v2 36 with: 37 go-version: ${{ matrix.go-version }} 38 - name: Checkout code 39 uses: actions/checkout@v2 40 - name: Test 41 run: go test ./... 42 lint: 43 runs-on: ubuntu-latest 44 steps: 45 - name: Install Go 46 uses: actions/setup-go@v2 47 with: 48 go-version: 1.15.x 49 - name: Checkout code 50 uses: actions/checkout@v2 51 - name: Vet 52 run: go vet ./... 53 - name: Staticcheck 54 run: | 55 go get honnef.co/go/tools/cmd/staticcheck 56 staticcheck ./... 57 58