on:
  pull_request:
    paths-ignore:
      - 'README.md'
      - 'CONTRIBUTING.md'
      - 'COPYING'
      - 'docs/**'
      - '.github/*.md'
      - '.github/FUNDING.yml'

name: Validate Code
jobs:
  test:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        include:
        - os: ubuntu-latest
        - os: macos-latest
        - os: windows-latest
    runs-on: ${{ matrix.os }}
    defaults:
      run:
        working-directory: ${{ github.workspace }}/src
    steps:
    - name: Install Go
      uses: actions/setup-go@v2
      with:
        go-version: 1.15.x
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Bundle init scripts
      run: |
        go get -u github.com/kevinburke/go-bindata/...
        go generate
    - name: Golang CI
      uses: golangci/golangci-lint-action@v2
      with:
        version: v1.31
        working-directory: src
    - name: Unit Tests
      run: go test . -v
