From ab40972d5a4f7d2c82f913580f322fc579361ffa Mon Sep 17 00:00:00 2001 From: Kybxd <627940450@qq.com> Date: Tue, 23 Jun 2026 19:58:57 +0800 Subject: [PATCH 1/2] ci: drop cmd/tableauc release tag scheme and bump buf-action 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/workflows/buf-ci.yml | 16 ++++++---------- .github/workflows/lint.yml | 2 +- .github/workflows/release.yml | 15 ++++++++------- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/.github/workflows/buf-ci.yml b/.github/workflows/buf-ci.yml index f240c743..a8d038b3 100644 --- a/.github/workflows/buf-ci.yml +++ b/.github/workflows/buf-ci.yml @@ -2,13 +2,6 @@ name: Buf CI on: push: branches: ['**'] - # Only top-level release tags (vX.Y.Z[-suffix]) should be synced to BSR. - # Submodule tags such as `cmd/tableauc/vX.Y.Z` (consumed by release.yml) - # must NOT trigger this workflow, otherwise buf-action would push them - # to BSR as well. - tags: - - 'v[0-9]+.[0-9]+.[0-9]+' - - 'v[0-9]+.[0-9]+.[0-9]+-*' pull_request: types: [opened, synchronize, reopened, labeled, unlabeled] delete: @@ -16,9 +9,12 @@ jobs: buf: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: bufbuild/buf-action@v1 + - name: Checkout Code + uses: actions/checkout@v6 + + - name: Buf CI + uses: bufbuild/buf-action@v1 with: - version: "1.69.0" + version: 1.69.0 token: ${{ secrets.BUF_TOKEN }} github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e858546d..92ed2a1c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -28,7 +28,7 @@ jobs: - name: Install Buf uses: bufbuild/buf-action@v1 with: - version: 1.67.0 + version: 1.69.0 setup_only: true github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 442f0b2e..fb0d7a18 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,9 +7,10 @@ on: jobs: release: - name: Release cmd/tableauc + name: Release tableauc runs-on: ubuntu-latest - if: startsWith(github.event.release.tag_name, 'cmd/tableauc/') + # Only run for top-level release tags like `vX.Y.Z` (optionally with a suffix). + if: startsWith(github.event.release.tag_name, 'v') strategy: matrix: goos: [linux, darwin, windows] @@ -30,9 +31,7 @@ jobs: go-version: "1.24.x" - name: Download dependencies - run: | - cd cmd/tableauc - go mod download + run: go mod download - name: Prepare build directory run: | @@ -52,9 +51,11 @@ jobs: - name: Create package id: package run: | - 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...tar.gz`. + PACKAGE_NAME=tableauc.${GITHUB_REF#refs/tags/}.${{ matrix.goos }}.${{ matrix.goarch }}.tar.gz tar -czvf $PACKAGE_NAME -C build . - echo ::set-output name=name::${PACKAGE_NAME} + echo "name=${PACKAGE_NAME}" >> $GITHUB_OUTPUT - name: Upload asset uses: actions/upload-release-asset@v1 From c2f04e0459b6d2a4794dd7f71c18ffe35587b56e Mon Sep 17 00:00:00 2001 From: Kybxd <627940450@qq.com> Date: Tue, 23 Jun 2026 20:18:38 +0800 Subject: [PATCH 2/2] docs(proto): add "ts" as supported lang_option --- proto/tableau/protobuf/tableau.proto | 6 +++--- proto/tableaupb/tableau.pb.go | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/proto/tableau/protobuf/tableau.proto b/proto/tableau/protobuf/tableau.proto index e0250c1c..661a3c44 100644 --- a/proto/tableau/protobuf/tableau.proto +++ b/proto/tableau/protobuf/tableau.proto @@ -246,11 +246,11 @@ message WorksheetOptions { // Different kvs must be seperated by ',' and one key value must be seperated // by ':'. If one key doesn't exist in map, it means that this loader option // is supported in all languages. Valid values are all combinations of "cpp", - // "go" and "csharp" with ' ' as seperator. + // "go", "csharp" and "ts" with ' ' as seperator. // // Examples: - // - OrderedMap:cpp,Index:cpp go // ordered map supported in cpp, index - // supported in cpp and go + // - OrderedMap:cpp,Index:cpp go ts // ordered map supported in cpp, index + // supported in cpp, go and ts // - OrderedMap:cpp // ordered map supported in cpp, index supported in all // languages map lang_options = 52; diff --git a/proto/tableaupb/tableau.pb.go b/proto/tableaupb/tableau.pb.go index 70b4820d..67c15562 100644 --- a/proto/tableaupb/tableau.pb.go +++ b/proto/tableaupb/tableau.pb.go @@ -955,11 +955,11 @@ type WorksheetOptions struct { // Different kvs must be seperated by ',' and one key value must be seperated // by ':'. If one key doesn't exist in map, it means that this loader option // is supported in all languages. Valid values are all combinations of "cpp", - // "go" and "csharp" with ' ' as seperator. + // "go", "csharp" and "ts" with ' ' as seperator. // // Examples: - // - OrderedMap:cpp,Index:cpp go // ordered map supported in cpp, index - // supported in cpp and go + // - OrderedMap:cpp,Index:cpp go ts // ordered map supported in cpp, index + // supported in cpp, go and ts // - OrderedMap:cpp // ordered map supported in cpp, index supported in all // languages LangOptions map[string]string `protobuf:"bytes,52,rep,name=lang_options,json=langOptions,proto3" json:"lang_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`