name: CI
on: [push]
jobs:

  build:
    name: Build
    runs-on: ubuntu-latest
    strategy:
      matrix:
        goVer: [1.16, 1.17, 1.18]

    steps:
    - name: Set up Go ${{ matrix.goVer }}
      uses: actions/setup-go@v1
      with:
        go-version: ${{ matrix.goVer }}
      id: go

    - name: Check out code into the Go module directory
      uses: actions/checkout@v2

    - name: Get dependencies
      run: |
        go get -v -t -d ./...
        go get gopkg.in/check.v1

    - name: Build
      run: go build -v .
    
    - name: Format
      run: diff -u <(echo -n) <(gofmt -d .)
    
    - name: Test
      run: go test -v ./...
