Unleash/unleash-client-go

View on GitHub
.github/workflows/build.yml

Summary

Maintainability
Test Coverage
name: Build

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        version: [1.13, 1.15, 1.16]
    steps:
      - uses: actions/checkout@v2
        name: Checkout code
      - uses: actions/checkout@v2
        name: Checkout client specifications
        with:
          repository: Unleash/client-specification
          ref: refs/tags/v4.5.2
          path: testdata/client-specification
      - uses: actions/setup-go@v2
        name: Setup go
        with:
          go-version: ${{ matrix.version }}
      - name: Get deps
        run: go get -t -v ./...
      - name: Go vet
        run: go vet ./...
      - name: Run spec tests
        run: go test -v ./... -tags='norace'
      - name: Run all tests with race detection
        timeout-minutes: 1
        run: go test -race -covermode atomic -coverprofile=profile.cov -v ./... -tags='!norace'
      - name: Send coverage
        uses: shogo82148/actions-goveralls@v1
        with:
          path-to-profile: profile.cov
          flag-name: Go-${{ matrix.version }}
          parallel: true
    # notifies that all test jobs are finished.
  finish:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: shogo82148/actions-goveralls@v1
        with:
          parallel-finished: true