h2non / gock

HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽
https://pkg.go.dev/github.com/h2non/gock
MIT License
2.04k stars 106 forks source link

Invalid module versioning from h2non/parth #72

Open milas opened 3 years ago

milas commented 3 years ago

This would more appropriately be an issue on h2non/parth repo, but unfortunately issues are not enabled there. It's also not really resolvable with a pull request, unfortunately. (It's also possible to resolve purely in gock, see the end of this issue)

Currently, go.mod has the dependency:

github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542

This commit corresponds to the h2non/parth@v2.0.1 tag.

As a result, downstream go.sum files end up with an entry for v2.0.1+incompatible because the target commit/tag is still using a v0/v1 path (no /v2 suffix) but is tagged as v2.0.1.

This then breaks the sumdb verification:

github.com/h2non/parth@v2.0.1+incompatible: reading https://proxy.golang.org/github.com/h2non/parth/@v/v2.0.1+incompatible.zip: 410 Gone
        server response: not found: github.com/h2non/parth@v2.0.1+incompatible: invalid version: +incompatible suffix not allowed: module contains a go.mod file, so semantic import versioning is required

Would it be possible to merge the changes from h2non/parth@master branch to h2non/parth@v2 branch while ensuring that the module path ends with /v2 in go.mod and tagging a new version from that? Afterwards, gock could be updated to use the appropriately semantically versioned module.

Alternatively, since the only (current?) difference between h2non/parth and the original codemodus/parth is the module path, and the upstream does use proper semantic versions, gock could be changed to use that directly. If this is preferable, let me know, and I will happily open a pull request to make the change here!