| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 1 | name: go_tests |
| 2 | on: |
| 3 | workflow_call: |
| Josh Bleecher Snyder | 936ba62 | 2025-04-30 20:53:21 +0000 | [diff] [blame] | 4 | inputs: |
| 5 | ref: |
| 6 | description: "The git ref to checkout" |
| 7 | required: false |
| 8 | type: string |
| 9 | default: "" |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 10 | push: |
| 11 | branches-ignore: |
| Josh Bleecher Snyder | 93bb66a | 2025-04-30 16:29:05 -0700 | [diff] [blame] | 12 | - "queue-main-*" |
| 13 | - "queue-dev-*" |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 14 | pull_request: |
| 15 | jobs: |
| 16 | test: |
| Sean McCullough | 9abbf92 | 2025-04-18 13:17:38 -0700 | [diff] [blame] | 17 | runs-on: "ubuntu-latest" |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 18 | steps: |
| Josh Bleecher Snyder | 936ba62 | 2025-04-30 20:53:21 +0000 | [diff] [blame] | 19 | - uses: actions/checkout@v4 |
| 20 | with: |
| 21 | ref: ${{ inputs.ref }} |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 22 | |
| 23 | - uses: actions/setup-go@v5 |
| 24 | with: |
| 25 | go-version-file: "go.mod" |
| 26 | cache: true |
| 27 | |
| 28 | - name: Cache Go 1.24.2 |
| 29 | uses: actions/cache@v4 |
| 30 | with: |
| 31 | path: | |
| 32 | ~/.cache/go-build |
| 33 | key: ${{ runner.os }}-go1.24.2-${{ hashFiles('**/go.sum') }} |
| 34 | restore-keys: | |
| 35 | ${{ runner.os }}-go1.24.2- |
| 36 | |
| 37 | - name: Install tools |
| 38 | run: | |
| 39 | go install golang.org/x/tools/gopls@latest |
| Philip Zeyliger | 6c1f34f | 2025-04-23 19:33:03 -0700 | [diff] [blame] | 40 | go install gotest.tools/gotestsum@latest |
| Josh Bleecher Snyder | 833a0f8 | 2025-04-24 18:39:36 +0000 | [diff] [blame] | 41 | go install mvdan.cc/gofumpt@latest |
| 42 | go install golang.org/x/tools/cmd/goimports@latest |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 43 | |
| 44 | - name: Go generate |
| 45 | run: | |
| 46 | go generate ./... |
| Josh Bleecher Snyder | 88c61bd | 2025-04-30 13:40:34 -0700 | [diff] [blame] | 47 | # if go generate created a diff |
| 48 | if ! git diff --exit-code; then |
| 49 | echo "go generate created a diff" |
| 50 | git diff |
| 51 | exit 1 |
| 52 | fi |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 53 | |
| 54 | - name: Run tests |
| 55 | run: | |
| Josh Bleecher Snyder | 923a3ba | 2025-05-05 15:27:13 -0700 | [diff] [blame] | 56 | GOEXPERIMENT=synctest gotestsum --format testname -- ./... |
| 57 | GOEXPERIMENT=synctest gotestsum --format testname -- -race ./... |