github.com/hashicorp/packer@v1.14.3/.github/workflows/go-validate.yml (about) 1 # 2 # This GitHub action runs basic linting checks for Packer. 3 # 4 5 name: "Go Validate" 6 7 on: 8 push: 9 branches: 10 - 'main' 11 - release/** 12 - feature/** 13 pull_request: 14 15 permissions: 16 contents: read 17 18 jobs: 19 get-go-version: 20 runs-on: ubuntu-latest 21 outputs: 22 go-version: ${{ steps.get-go-version.outputs.go-version }} 23 steps: 24 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 25 - name: 'Determine Go version' 26 id: get-go-version 27 run: | 28 echo "Found Go $(cat .go-version)" 29 echo "go-version=$(cat .go-version)" >> $GITHUB_OUTPUT 30 check-mod-tidy: 31 needs: 32 - get-go-version 33 runs-on: ubuntu-latest 34 name: Go Mod Tidy 35 steps: 36 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 37 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 38 with: 39 go-version: ${{ needs.get-go-version.outputs.go-version }} 40 - run: go mod tidy 41 check-lint: 42 needs: 43 - get-go-version 44 runs-on: ubuntu-latest 45 name: Lint 46 steps: 47 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 48 with: 49 fetch-depth: 0 50 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 51 with: 52 go-version: ${{ needs.get-go-version.outputs.go-version }} 53 - run: echo "$GITHUB_SHA" 54 - run: git fetch --all 55 - run: echo $(git merge-base origin/main $GITHUB_SHA) 56 - run: make ci-lint 57 check-fmt: 58 needs: 59 - get-go-version 60 runs-on: ubuntu-latest 61 name: Fmt check 62 steps: 63 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 64 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 65 with: 66 go-version: ${{ needs.get-go-version.outputs.go-version }} 67 - run: make fmt-check 68 check-generate: 69 needs: 70 - get-go-version 71 runs-on: ubuntu-latest 72 name: Generate check 73 steps: 74 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 75 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 76 with: 77 go-version: ${{ needs.get-go-version.outputs.go-version }} 78 - run: make generate-check