Add GO_TEST_EXEC and TESTTAGS to use gotestsum on CI#2109
Closed
pose wants to merge 1 commit into
Closed
Conversation
Introduce two new Makefile variables: - GO_TEST_EXEC ?= go test — overridden to "gotestsum --" via workflow env on CI - TESTTAGS ?= all — overridden per language in the non-sharded matrix path Move test invocations out of the workflow YAML and into make targets so that GO_TEST_EXEC is always picked up: - Non-sharded path previously called go test directly, bypassing the Makefile entirely; it now calls make TESTTAGS=<language> GOTESTARGS=<flags> test - Sharded path already went through make test and continues to do so Also installs gotestsum via mise in the test environment (mise.test.toml). Closes #2106 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
corymhall
approved these changes
Mar 12, 2026
Member
Author
|
Sorry @corymhall , I thought I merged the previous PR already. I am updating the previous PR! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2106.
Context
We previously used
gotestfmtto improve test output readability on CI, but it was removed because it was mis-attributing logs from one test to another and not reporting logs when a panic was encountered — making failures harder to diagnose rather than easier.gotestsumis a more robust alternative. This PR introduces two Makefile variables:GO_TEST_EXEC ?= go test— set to"gotestsum --"on CI via the workflowenv:blockTESTTAGS ?= all— overridden per-language in the non-sharded matrix pathWhy the previous approach didn't work
The first attempt set
GO_TEST_EXECin the workflow env and relied on Make's?=to pick it up. This worked for the sharded path (which callsmake test), but not the non-sharded path, which calledgo testdirectly in the workflow YAML — bypassing the Makefile entirely. awsx uses the non-sharded path, soGO_TEST_EXECwas never consulted.This approach
Move all test invocations through
makesoGO_TEST_EXECis always honoured:make TESTTAGS=<language> GOTESTARGS=<flags> testinstead of directgo testmake testand continues to do soThis also aligns with the strategic goal of keeping workflows "dumb" — test logic lives in the Makefile, not scattered across workflow YAML.
Also installs
gotestsumvia aqua inmise.test.tomlso it is available in test workflow environments.Test plan
make test-go test-providerspasses — all 15 test providers regenerate and pass actionlint🤖 Generated with Claude Code