name: go generate on: push: branches: - main - "release-branch/*" pull_request: branches: - "*" concurrency: group: ${{ github.workflow }}-$${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: check: runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v3 with: go-version-file: go.mod - name: check 'go generate' is clean run: | if [[ "${{github.ref}}" == release-branch/* ]] then pkgs=$(go list ./... | grep -v dnsfallback) else pkgs=$(go list ./... | grep -v dnsfallback) fi go generate $pkgs echo echo git diff --name-only --exit-code || (echo "The files above need updating. Please run 'go generate'."; exit 1)