Skip to content

go/v1.0.0: go mod tidy fails in every consumer (retained 0.x files import a removed package) #454

Description

@EricAndrechek

go/v1.0.0: go mod tidy fails in every consumer module.

Measured with a fresh consumer importing github.com/wave-rf/chtypes/go/chtypes at v1.0.0 from the Go proxy:

go: github.com/wave-rf/chtypes/go/chtypes imports
	github.com/wave-rf/chtypes/go/internal/testhook: module github.com/wave-rf/chtypes/go@latest found (v1.0.0),
	but does not contain package github.com/wave-rf/chtypes/go/internal/testhook
  • Because tidy fails, the consumer's go.sum stays incomplete, so go build also fails until it is worked around: missing go.sum entry … github.com/klauspost/compress/zstd.
  • go build, go vet and go mod verify on the module itself are fine.

Cause:

Workaround until the fix ships: go mod tidy -e.

Fix (measured locally):

  • Change those five constraints to //go:build ignore, which go mod tidy excludes.
  • With that change:
    • the module's own go mod tidy passes WITHOUT -e, and leaves go.mod/go.sum unchanged;
    • a consumer's go mod tidy and go mod tidy -diff exit 0;
    • the consumer builds.
  • The files stay in the tree and stay protected, so this does not pre-empt Held for the maintainer: delete the five retained v0 Go verification files and prune their protected-path entries #431.
  • The release verification's Go consumer module then drops its own -e, so every release dry run and every post-publish check runs a consumer go mod tidy and catches this class.

Ships as go/v1.0.1.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions