github.com/hashicorp/packer@v1.14.3/.github/workflows/go-test.yml (about) 1 # 2 # This GitHub action runs Packer go tests across 3 # Windows, Linux, and MacOS runners. 4 # 5 6 name: "Go Test" 7 8 on: 9 push: 10 branches: 11 - 'main' 12 - release/** 13 - feature/** 14 pull_request: 15 16 env: 17 PACKER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} 18 19 permissions: 20 contents: read 21 22 jobs: 23 get-go-version: 24 runs-on: ubuntu-latest 25 outputs: 26 go-version: ${{ steps.get-go-version.outputs.go-version }} 27 steps: 28 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 29 - name: 'Determine Go version' 30 id: get-go-version 31 run: | 32 echo "Found Go $(cat .go-version)" 33 echo "go-version=$(cat .go-version)" >> $GITHUB_OUTPUT 34 linux-go-tests: 35 needs: 36 - get-go-version 37 runs-on: ubuntu-latest 38 name: Linux go tests 39 steps: 40 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 41 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 42 with: 43 go-version: ${{ needs.get-go-version.outputs.go-version }} 44 - run: TESTARGS="-coverprofile=coverage.txt -covermode=atomic" make ci 45 darwin-go-tests: 46 needs: 47 - get-go-version 48 runs-on: macos-latest 49 name: Darwin go tests 50 steps: 51 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 52 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 53 with: 54 go-version: ${{ needs.get-go-version.outputs.go-version }} 55 - run: go test ./... -coverprofile=coverage.txt -covermode=atomic 56 windows-go-tests: 57 needs: 58 - get-go-version 59 runs-on: windows-latest 60 name: Windows go tests 61 steps: 62 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 63 - uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # v5.3.0 64 with: 65 go-version: ${{ needs.get-go-version.outputs.go-version }} 66 - run: go test ./... -coverprofile=coverage.txt -covermode=atomic