# # This GitHub action runs basic linting checks for Packer. # name: "Go Validate" on: push: branches: - 'main' - release/** - feature/** pull_request: permissions: contents: read jobs: get-go-version: runs-on: ubuntu-latest outputs: go-version: ${{ steps.get-go-version.outputs.go-version }} steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 'Determine Go version' id: get-go-version run: | echo "Found Go $(cat .go-version)" echo "go-version=$(cat .go-version)" >> $GITHUB_OUTPUT check-mod-tidy: needs: - get-go-version runs-on: ubuntu-latest name: Go Mod Tidy steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 with: go-version: ${{ needs.get-go-version.outputs.go-version }} - run: go mod tidy check-lint: needs: - get-go-version runs-on: ubuntu-latest name: Lint steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 with: go-version: ${{ needs.get-go-version.outputs.go-version }} - run: echo "$GITHUB_SHA" - run: git fetch --all - run: echo $(git merge-base origin/main $GITHUB_SHA) - run: make ci-lint check-fmt: needs: - get-go-version runs-on: ubuntu-latest name: Fmt check steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 with: go-version: ${{ needs.get-go-version.outputs.go-version }} - run: make fmt-check check-generate: needs: - get-go-version runs-on: ubuntu-latest name: Generate check steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 with: go-version: ${{ needs.get-go-version.outputs.go-version }} - run: make generate-check