Skip to content

ci: drop cmd/tableauc release tag scheme and bump buf-action#421

Merged
Kybxd merged 2 commits into
masterfrom
github-ci
Jun 23, 2026
Merged

ci: drop cmd/tableauc release tag scheme and bump buf-action#421
Kybxd merged 2 commits into
masterfrom
github-ci

Conversation

@Kybxd

@Kybxd Kybxd commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

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 when cmd/tableauc/ had its own go.mod.

The submodule go.mod was removed back in #181 (since v0.12.1), so cmd/tableauc is now just a regular sub-package of the root module github.com/tableauio/tableau. Users install it via go install github.com/tableauio/tableau/cmd/tableauc@vX.Y.Z, which resolves against the root tag — the cmd/tableauc/vX.Y.Z tag has had no effect on Go tooling since.

The only remaining consumer of cmd/tableauc/* was release.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.yml had filters specifically excluding cmd/tableauc/* from push.tags, the workflow still ran (triggered by the root vX.Y.Z tag), and buf push --git-metadata collects all refs pointing at HEAD. As a result cmd/tableauc/v0.16.1 ended up published as a BSR label on buf.build/tableauio/tableau, polluting the module's label list.

Changes

release.yml

  • Trigger on top-level vX.Y.Z release tags instead of cmd/tableauc/*.
  • Drop the leading cd cmd/tableauc from the Download dependencies step (no submodule go.mod to download against).
  • Asset filename now derives from the root tag, e.g. tableauc.v0.16.1.linux.amd64.tar.gz (consistent with the historical naming style).
  • Replace the deprecated ::set-output syntax with $GITHUB_OUTPUT.

buf-ci.yml

  • Remove the push.tags allowlist that existed solely to keep cmd/tableauc/* out of buf-action runs — no longer needed.
  • Add step names; unquote version: 1.69.0 for consistency.

lint.yml

  • Bump bufbuild/buf-action to 1.69.0 to match buf-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.

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.
@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow Buf CI / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedJun 23, 2026, 12:18 PM

@codecov

codecov Bot commented Jun 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.94%. Comparing base (17a0e8e) to head (c2f04e0).

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Image

@Kybxd Kybxd Jun 23, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@Kybxd Kybxd merged commit b6690c8 into master Jun 23, 2026
9 checks passed
@Kybxd Kybxd deleted the github-ci branch June 23, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants