name: Push

on:
  push:
    branches: [ master ]

jobs:

  build:
    name: CI
    runs-on: ubuntu-latest
    steps:

    - name: Set up Go 1.x
      uses: actions/setup-go@v2
      with:
        # Run on the latest minor release of Go 1.16:
        go-version: ^1.16
      id: go

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

    - name: Ensure all files were formatted as per gofmt
      run: |
        [ "$(gofmt -l $(find . -name '*.go') 2>&1)" = "" ]

    - name: Run tests
      run: |
        go test -v ./...
        go install ./cmd/...
