Ethan-Xingyue opened a new issue, #1179: URL: https://github.com/apache/incubator-seata-go/issues/1179
## 🚀 Go Version go1.24.3 darwin/arm64 ## 📦 Seata-go Version master, commit 3bf73586af81db1bd428982c93d82000d80cb1c8 (fetched 2026-09-02); tags v2.0.0 and v2.1.0 ## 💾 Operating System macOS ## 📝 Bug Description **Install commands.** Both READMEs tell users to install v2.0.0 with a path that has no `/v2` major-version suffix: - `README.md` L101: `go get seata.apache.org/[email protected]` → fails, `module path must match major version`. - `README_ZH.md` L106: `go get seata.apache.org/[email protected]` → fails, `unknown revision 2.0.0` (also missing the `v`). The obvious correction `go get seata.apache.org/seata-go/[email protected]` fails too, because the `go.mod` at tag `v2.0.0` declares `module seata.apache.org/seata-go` (without `/v2`); only tag `v2.1.0` declares `module seata.apache.org/seata-go/v2`. In practice **v2.0.0 cannot be installed as a Go module at all**; the working commands are: ```bash go get seata.apache.org/seata-go/[email protected] go get seata.apache.org/seata-go/v2@latest # resolves to v2.1.0 today ``` **Stale links** (checked at 3bf73586): | Where | Current | Problem | Suggested | | --- | --- | --- | --- | | `README.md` L111, `README_ZH.md` L113 | `https://github.com/seata/seata-go/releases` | old repository | `https://github.com/apache/incubator-seata-go/releases` | | `README.md` L124, `README_ZH.md` L123 | `.github/ISSUE_TEMPLATE/BUG_REPORT_TEMPLATE.md` | file does not exist; issue forms are `0_bug_report.yml` etc. | `https://github.com/apache/incubator-seata-go/issues/new/choose` | | `CONTRIBUTING.md` L179 | `./.github/pull-request-template.md` | wrong name/case | `./.github/PULL_REQUEST_TEMPLATE.md` | Permalinks: https://github.com/apache/incubator-seata-go/blob/3bf73586af81db1bd428982c93d82000d80cb1c8/README.md#L95-L128 , https://github.com/apache/incubator-seata-go/blob/3bf73586af81db1bd428982c93d82000d80cb1c8/README_ZH.md#L100-L127 , https://github.com/apache/incubator-seata-go/blob/3bf73586af81db1bd428982c93d82000d80cb1c8/CONTRIBUTING.md#L179 Related: #891. Suggested priority: P2 (the first step of every new user fails). ## 🔄 Steps to Reproduce Install commands, in an empty module: ```bash tmp_dir="$(mktemp -d)" cd "$tmp_dir" go mod init readme-repro go get seata.apache.org/[email protected] # README.md go get seata.apache.org/[email protected] # README_ZH.md go get seata.apache.org/seata-go/[email protected] # the obvious correction go get seata.apache.org/seata-go/[email protected] # works ``` Module path at the tags, in a checkout: ```bash git show v2.0.0:go.mod | head -1 git show v2.1.0:go.mod | head -1 ``` Links, in the repository root: ```bash test -f .github/ISSUE_TEMPLATE/BUG_REPORT_TEMPLATE.md; echo "exit=$?" test -f .github/pull-request-template.md; echo "exit=$?" ls .github/ISSUE_TEMPLATE/ .github/PULL_REQUEST_TEMPLATE.md ``` ## ✅ Expected Behavior - The install command in both READMEs succeeds in an empty module. - Release, issue-chooser and PR-template links point to valid targets in the Apache repository. - English and Chinese READMEs say the same thing. ## ❌ Actual Behavior ```text $ go get seata.apache.org/[email protected] go: seata.apache.org/[email protected]: invalid version: module contains a go.mod file, so module path must match major version ("seata.apache.org/seata-go/v2") $ go get seata.apache.org/[email protected] go: seata.apache.org/[email protected]: invalid version: unknown revision 2.0.0 $ go get seata.apache.org/seata-go/[email protected] go: seata.apache.org/[email protected]: invalid version: module contains a go.mod file, so module path must match major version ("seata.apache.org/seata-go/v2") $ go get seata.apache.org/seata-go/[email protected] (succeeds; go.mod now contains: require seata.apache.org/seata-go/v2 v2.1.0) $ git show v2.0.0:go.mod | head -1 module seata.apache.org/seata-go $ git show v2.1.0:go.mod | head -1 module seata.apache.org/seata-go/v2 $ test -f .github/ISSUE_TEMPLATE/BUG_REPORT_TEMPLATE.md; echo "exit=$?" exit=1 $ test -f .github/pull-request-template.md; echo "exit=$?" exit=1 ``` Pinning v2.0.0 via `go mod edit -require=seata.apache.org/seata-go/[email protected]` + `go mod tidy` fails as well: `go.mod has non-.../v2 module path "seata.apache.org/seata-go" at revision v2.0.0`. ## 💡 Possible Solution - One small PR that updates `README.md`, `README_ZH.md` and `CONTRIBUTING.md` together: install via `go get seata.apache.org/seata-go/v2@latest` (or pin `@v2.1.0`), fix the release URL, link the issue chooser instead of a single form file, fix the PR template path. - State in the release notes / README that v2.0.0 is not installable as a module and users should start from v2.1.0. - Add a Markdown link checker and a smoke test that runs the README install command in a temporary module to CI. Acceptance criteria: - [ ] The corrected `go get` succeeds in an empty module and a minimal import builds. - [ ] English and Chinese READMEs agree on install, release, issue and security paths. - [ ] Internal relative links and external HTTP links in README/CONTRIBUTING pass a link check. - [ ] CI catches the same regression after future renames or migrations. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
