name: Go Mod

on: [pull_request]

jobs:
  go-mod:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ${{ github.workspace }}/src
    steps:
    - name: Install Go
      uses: actions/setup-go@v2
      with:
        go-version: 1.18
    - name: Checkout code
      uses: actions/checkout@v2
    - name: Check for unused dependencies
      run: |
        go mod tidy
        if [ "$(git status | grep -c "nothing to commit, working tree clean")" == "1" ]; then
          echo "Nothing to tidy"
          exit 0
        fi
        echo "Go mod tidy is needed"
        exit 1
