name: Go
on:
  push:
    branches:
      - master
  pull_request:
jobs:
  test:
    name: Test
    strategy:
      matrix:
        os: [ "ubuntu-latest", "macos-latest", "windows-latest" ]
        go-version: [ "1.15", "1.16", "1.17" ]
    runs-on: ${{ matrix.os }}
    steps:
    - name: setup Go ${{ matrix.go-version }}
      uses: actions/setup-go@v2
      with:
        go-version: ${{ matrix.go-version }}
    - name: checkout
      uses: actions/checkout@v2
    - name: test
      run: |
        make test
  ycat:
    name: ycat
    runs-on: ubuntu-latest
    steps:
      - name: setup Go
        uses: actions/setup-go@v2
        with:
          go-version: 1.17
      - name: checkout
        uses: actions/checkout@v2
      - name: build
        run: |
          make ycat/build
      - name: run
        run: |
          ./ycat .github/workflows/go.yml

  coverage:
    name: Coverage
    runs-on: ubuntu-latest
    steps:
      - name: setup Go
        uses: actions/setup-go@v2
        with:
          go-version: 1.17
      - name: checkout
        uses: actions/checkout@v2
      - name: measure coverage
        run: |
          make cover
      - uses: codecov/codecov-action@v2
        with:
          fail_ci_if_error: true
          verbose: true

name: Go
on:
  push:
    branches:
      - master
  pull_request:
jobs:
  test:
    name: Test
    strategy:
      matrix:
        os: [ "ubuntu-latest", "macos-latest", "windows-latest" ]
        go-version: [ "1.16", "1.17", "1.18" ]
    runs-on: ${{ matrix.os }}
    steps:
    - name: setup Go ${{ matrix.go-version }}
      uses: actions/setup-go@v2
      with:
        go-version: ${{ matrix.go-version }}
    - name: checkout
      uses: actions/checkout@v2
    - name: test
      run: |
        make test
  ycat:
    name: ycat
    runs-on: ubuntu-latest
    steps:
      - name: setup Go
        uses: actions/setup-go@v2
        with:
          go-version: 1.18
      - name: checkout
        uses: actions/checkout@v2
      - name: build
        run: |
          make ycat/build
      - name: run
        run: |
          ./ycat .github/workflows/go.yml

  coverage:
    name: Coverage
    runs-on: ubuntu-latest
    steps:
      - name: setup Go
        uses: actions/setup-go@v2
        with:
          go-version: 1.18
      - name: checkout
        uses: actions/checkout@v2
      - name: measure coverage
        run: |
          make cover
      - uses: codecov/codecov-action@v2
        with:
          fail_ci_if_error: true
          verbose: true

Update Go version in CI
Update Go version in CI
