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@4d34df0c2316fe8122ab82dc22947d607c0c91f9
      with:
        go-version: 1.20.2
    - name: Checkout code
      uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
    - 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
