indrasaputra/url-shortener

View on GitHub
.github/workflows/test.yml

Summary

Maintainability
Test Coverage
name: Test

on: [push, pull_request]
  
jobs:
  go-code-lint:
    name: lint using golangci
    if: github.event_name == 'push'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: golangci-lint
        uses: golangci/golangci-lint-action@v2
        with:
          version: v1.38.0
  
  proto-code-format:
    name: format proto using clang-format
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: DoozyX/clang-format-lint-action@v0.11
      with:
        source: '.'
        extensions: 'proto'
        clangFormatVersion: 11

  unit-test:
    name: unit test and coverage
    runs-on: ubuntu-latest
    steps:
      - name: Set up Go 1.x
        uses: actions/setup-go@v2
        with:
          go-version: ^1.16.x
      
      - name: Checkout code
        uses: actions/checkout@v2
      
      - run: go test -race ./... -coverprofile=coverage.out -covermode=atomic
      
      - name: Codecov
        uses: codecov/codecov-action@v1.0.13