gabor-boros/minutes

View on GitHub
.github/workflows/build.yml

Summary

Maintainability
Test Coverage
name: Build

"on":
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  test:
    strategy:
      matrix:
        go:
          - "1.22.4"
        os:
          - ubuntu-latest
          - windows-latest
          - macos-latest
    runs-on: "${{ matrix.os }}"
    steps:
      - uses: actions/checkout@v4
      - name: Set up Go
        uses: actions/setup-go@v5
        with:
          go-version: "${{ matrix.go }}"
      - name: Prerequisites
        run: make prerequisites
      - name: Lint
        run: make lint
      - name: Test
        run: make test
      - name: Stash test results
        uses: actions/upload-artifact@master
        with:
          name: "${{ matrix.os }}-${{ matrix.go }}"
          path: .coverage.out
          retention-days: 7
      - name: Build
        run: make build

  coverage:
    name: coverage
    runs-on: ubuntu-latest
    needs:
      - test
    steps:
      - uses: actions/checkout@v4
      - name: Unstash test results
        uses: actions/download-artifact@master
        with:
          name: ubuntu-latest-1.22.4
      - name: Upload test results
        uses: paambaati/codeclimate-action@v6
        env:
          CC_TEST_REPORTER_ID: c9d94a2c1e909f32ec045ed9653456f64c0666bfde95012e9b913dbe4b988020
        with:
          prefix: github.com/${{github.repository}}
          coverageLocations: ${{github.workspace}}/.coverage.out:gocov