Conversation
release.yml: trigger on top-level vX.Y.Z release tags instead of cmd/tableauc/* tags. cmd/tableauc no longer has its own go.mod since v0.12.1, so the submodule tag scheme is obsolete and was causing buf-action to push the extra tag as a label to BSR via --git-metadata. Package names now derive from the root tag (e.g. tableauc.v0.16.1.linux.amd64.tar.gz). Replace the deprecated ::set-output syntax with $GITHUB_OUTPUT. buf-ci.yml: remove the push.tags filter that was only there to keep cmd/tableauc/* tags out; no longer needed. Add step names and unquote the buf-action version. lint.yml: bump bufbuild/buf-action to 1.69.0 to match buf-ci.yml.
|
The latest Buf updates on your PR. Results from workflow Buf CI / buf (pull_request).
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #421 +/- ##
=======================================
Coverage 74.94% 74.94%
=======================================
Files 88 88
Lines 9388 9388
=======================================
Hits 7036 7036
Misses 1781 1781
Partials 571 571 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| PACKAGE_NAME=tableauc.${GITHUB_REF#refs/tags/cmd/tableauc/}.${{ matrix.goos }}.${{ matrix.goarch }}.tar.gz | ||
| # Strip the leading `refs/tags/` so that a tag like `v0.16.1` | ||
| # produces a package name `tableauc.v0.16.1.<goos>.<goarch>.tar.gz`. | ||
| PACKAGE_NAME=tableauc.${GITHUB_REF#refs/tags/}.${{ matrix.goos }}.${{ matrix.goarch }}.tar.gz |
There was a problem hiding this comment.
DO NOT change the PACKAGE_NAME, keep it compatible and the cmd/tableauc path is good, mabye more cmds are developed in the future.
Revert it to: GITHUB_REF#refs/tags/cmd/tableauc/
Refer to https://github.com/tableauio/tableau/releases/tag/cmd%2Ftableauc%2Fv0.16.1
There was a problem hiding this comment.
Unable to do this. cmd%2Ftableauc%2FvX.Y.Z is tag name not package name, but we just want to deprecate cmd/tableauc/vX.Y.Z tags in this pr.
Background
Historically each release required pushing two tags pointing at the same commit:
vX.Y.Z— the root module tag.cmd/tableauc/vX.Y.Z— required whencmd/tableauc/had its owngo.mod.The submodule
go.modwas removed back in #181 (since v0.12.1), socmd/tableaucis now just a regular sub-package of the root modulegithub.com/tableauio/tableau. Users install it viago install github.com/tableauio/tableau/cmd/tableauc@vX.Y.Z, which resolves against the root tag — thecmd/tableauc/vX.Y.Ztag has had no effect on Go tooling since.The only remaining consumer of
cmd/tableauc/*wasrelease.yml, where it was used as the workflow trigger and as part of the asset filename.Why this matters
Keeping the obsolete tag was actively harmful. When releasing v0.16.1, both tags were pushed to the same commit. Even though
buf-ci.ymlhad filters specifically excludingcmd/tableauc/*frompush.tags, the workflow still ran (triggered by the rootvX.Y.Ztag), andbuf push --git-metadatacollects all refs pointing at HEAD. As a resultcmd/tableauc/v0.16.1ended up published as a BSR label onbuf.build/tableauio/tableau, polluting the module's label list.Changes
release.ymlvX.Y.Zrelease tags instead ofcmd/tableauc/*.cd cmd/tableaucfrom theDownload dependenciesstep (no submodulego.modto download against).tableauc.v0.16.1.linux.amd64.tar.gz(consistent with the historical naming style).::set-outputsyntax with$GITHUB_OUTPUT.buf-ci.ymlpush.tagsallowlist that existed solely to keepcmd/tableauc/*out of buf-action runs — no longer needed.version: 1.69.0for consistency.lint.ymlbufbuild/buf-actionto1.69.0to matchbuf-ci.yml.Release process going forward
Only the root tag is needed:
git tag v0.16.2 git push origin master v0.16.2 # Then publish a Release on GitHub against v0.16.2.