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