Repository navigation
build: install as github.com/emoss08/assay@latest - #2
Merged
Merged
Conversation
The module has exactly one binary, so the cmd/assay directory bought
nothing but a longer install path. Move main.go to the module root and
the tool installs under the name people already know it by:
go install github.com/emoss08/assay@latest
Update the clone-and-build instructions, the plain-build variant, the
BENCHMARKS reproduction steps, and the release workflow's cross-compile
target to match. CI builds ./... and needs no change.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YGGGHdy2bd4q7XKKExEDR5
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.
The module ships exactly one binary, so the
cmd/assaydirectory bought nothing but a longer install path. Movingmain.goto the module root lets the tool install under the name people already know it by:Changes
cmd/assay/main.go→main.go(tracked as a rename);cmd/is removed@latestline, plusgo install .andgo install -tags assay_plain .for the clone-and-build pathsgo build -o /tmp/assay .reproduction stepci.ymlneeds no change; it builds and tests./....Verification
go build ./..., theassay_plainvariant, andGOOS=windows/GOOS=darwincross-builds all passgo test -count=1 ./...passes in full[no test files], same ascmd/assaydidTwo things worth knowing before this ships
The old install path stops working at the next tag.
go install github.com/emoss08/assay/cmd/assay@latestresolves against the newest tagged version, so once a release contains this commit, that command breaks for anyone still using it. Already-installed binaries are unaffected, and pinning an older version (.../cmd/assay@v0.1.0) still works. If assay has users on the old command, the release notes are the place to say so.The module root is now
package main, so nothing can importgithub.com/emoss08/assayas a library. That costs nothing today — every package underinternal/was already unimportable from outside — but it forecloses ever exporting a public API at the root path. The conventional out, if that's wanted later, is to keep the root binary and add exported packages under a non-internaldirectory likepkg/.Generated by Claude Code