name: push
on: push

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: docker://golangci/golangci-lint:v1.23.6
      with:
        args: golangci-lint run
      env:
        CGO_ENABLED: 0

  test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-go@v1
      with:
        go-version: 1.13
    - run: go test -cover ./...
      env:
        CGO_ENABLED: 0
        GOFLAGS: -mod=vendor

  release:
    if: startsWith(github.ref, 'refs/tags/v')
    needs: 
    - lint
    - test
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: GoReleaser
      uses: goreleaser/goreleaser-action@v1
      with:
        version: latest
        args: release --rm-dist
      env:
        GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}