on:
  push:
  pull_request:
    types: [synchronize]
  schedule:
    - cron: "0 0 1,11,21 * *"
name: "Build and Test"
jobs:
  test:
    strategy:
      fail-fast: false
      matrix:
        go-version:
          - 1.13.x
          - 1.14.x
          - 1.15.x
          - 1.16.x
        os: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - name: Install Go
        uses: actions/setup-go@v2
        with:
          go-version: ${{ matrix.go-version }}
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Test
        run: go test ./...
      - name: Test coverage
        run: go test -coverprofile="cover.out" ./... # quotes needed for powershell
      - name: Send coverage
        uses: shogo82148/actions-goveralls@v1
        with:
          path-to-profile: cover.out
          flag-name: go${{ matrix.go-version }}-${{ matrix.os }}
          parallel: true
  # notifies that all test jobs are finished.
  finish:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: shogo82148/actions-goveralls@v1
        with:
          parallel-finished: true

on:
  push:
  pull_request:
    types: [synchronize]
  schedule:
    - cron: "0 0 1,11,21 * *"
name: "Build and Test"
jobs:
  test:
    strategy:
      fail-fast: false
      matrix:
        go-version:
          - 1.13.x
          - 1.14.x
          - 1.15.x
          - 1.16.x
          - 1.17.x
        os: [ubuntu-latest, macos-latest, windows-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - name: Install Go
        uses: actions/setup-go@v2
        with:
          go-version: ${{ matrix.go-version }}
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Test
        run: go test ./...
      - name: Test coverage
        run: go test -coverprofile="cover.out" ./... # quotes needed for powershell
      - name: Send coverage
        uses: shogo82148/actions-goveralls@v1
        with:
          path-to-profile: cover.out
          flag-name: go${{ matrix.go-version }}-${{ matrix.os }}
          parallel: true
  # notifies that all test jobs are finished.
  finish:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: shogo82148/actions-goveralls@v1
        with:
          parallel-finished: true

Add Go 1.17 to build matrix
Add Go 1.17 to build matrix
