name: "Setup Go"
description: |
  Sets up the Go environment for tests, builds, etc.
inputs:
  version:
    description: "The Go version to use."
    default: "1.21.5"
runs:
  using: "composite"
  steps:
    - name: Setup Go
      uses: buildjet/setup-go@v4
      with:
        go-version: ${{ inputs.version }}

    - name: Install gotestsum
      shell: bash
      run: go install gotest.tools/gotestsum@latest

    # It isn't necessary that we ever do this, but it helps
    # separate the "setup" from the "run" times.
    - name: go mod download
      shell: bash
      run: go mod download -x
