feat(cli): independent otdfctl releases + updates from origin/main#3268
feat(cli): independent otdfctl releases + updates from origin/main#3268alkalescent wants to merge 10 commits intoDSPX-2655-migrate-otdfctlfrom
Conversation
Resolves [DSPX-2682](https://virtru.atlassian.net/browse/DSPX-2682), depends on #3187 ## Proposed Changes - Adds strongly-typed sort support to `ListAttributes` RPC, following the pattern established in #3192 (ListNamespaces) - Sortable fields: `name`, `created_at`, `updated_at` (ASC/DESC), with backward-compatible fallback to `created_at DESC` - Includes CASE WHEN ordering in both `listAttributesDetail` and `listAttributesSummary` SQL queries ## Changes - **Proto**: `SortAttributesType` enum, `AttributesSort` message, `sort` field on `ListAttributesRequest` (max 1, buf.validate) - **SQL**: CASE WHEN sort blocks in `attributes.sql` for both detail and summary queries - **Go**: `GetAttributesSortParams()` helper in `utils.go`, wired into `ListAttributes()` in `attributes.go` - **Tests**: 9 unit tests for the helper, 5 integration tests covering each sort field + direction + fallback ### Checklist - [x] I have added or updated unit tests - [x] I have added or updated integration tests (if appropriate) - [x] I have added or updated documentation [DSPX-2682]: https://virtru.atlassian.net/browse/DSPX-2682?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Added sorting capability for attributes with options to sort by name, creation date, or last updated date in ascending or descending order. * **Documentation** * Updated API documentation with new sorting parameters and clarified timestamp parameter constraints. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Diego <74568547+dsm20@users.noreply.github.com>
### Proposed Changes As per integration tests in [listAttribute](#3223), this PR does some refactoring of existing tests to use helpers, adds fuller test coverage, and protovalidate tests. Exact changes were as follows: - Refactor ListNamespaces integration sort tests to use reusable helpers (createSortTestNamespaces, createNamedSortTestNamespaces), matching the pattern established in [ListAttributes](#3223) - Add missing sort direction tests for full coverage: created_at DESC, fqn DESC, updated_at ASC - Add API-level protovalidate test for ListNamespacesRequest.Sort (validates max_items = 1 constraint) ### Checklist - [ ] I have added or updated unit tests - [x] I have added or updated integration tests (if appropriate) - [ ] I have added or updated documentation ### Testing Instructions <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Tests** * Refactored namespace sorting tests with reusable helpers for deterministic setup and simpler assertions. * Added coverage for missing ascending and descending sort orders (created_at, fqn, updated_at) and ensured fallback behavior remains correct. * Added validator tests for list request sort parameters to confirm single-sort acceptance and reject multiple-sort inputs. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary
- Implements the **source-file codegen** approach for proto helper
generation
- Adds five convenience constructors (`ForToken`, `WithRequestToken`,
`ForClientID`, `ForEmail`, `ForUserName`) that live **in the
`authorizationv2` proto package** — no extra import needed
- Source files in `protocol/go/internal/authorization/v2/` have full IDE
support and standard unit tests; Go's `internal` package rule prevents
external consumers from importing them directly
- `protocol/codegen` (separate Go module, stdlib only) copies source
files into proto packages at build time, stripping the self-referencing
import and type qualifiers so the output compiles in-package
- Wired into `make proto-generate` after `buf generate` and before
`sdk/codegen`
- CI change detection broadened to trigger proto-generate checks on
Makefile, buf config, and codegen directory changes (not just `.proto`
files)
## Before / After
### Before
Constructing an `EntityIdentifier` requires 4 levels of proto nesting:
```go
req := &authorization.GetDecisionRequest{
EntityIdentifier: &authorization.EntityIdentifier{
Identifier: &authorization.EntityIdentifier_EntityChain{
EntityChain: &entity.EntityChain{
Entities: []*entity.Entity{{
EntityType: &entity.Entity_ClientId{ClientId: "opentdf"},
Category: entity.Entity_CATEGORY_SUBJECT,
}},
},
},
},
// ...
}
```
### After
One-line convenience constructors in the same proto package:
```go
req := &authorization.GetDecisionRequest{
EntityIdentifier: authorization.ForClientID("opentdf"),
// ...
}
```
All five constructors:
```go
authorization.ForToken("eyJhbGci...") // from JWT
authorization.WithRequestToken() // use request's Authorization header
authorization.ForClientID("opentdf") // client ID subject
authorization.ForEmail("user@example.com") // email subject
authorization.ForUserName("alice") // username subject
```
## How it works
```
protocol/
├── codegen/ # Separate Go module (stdlib only, own go.mod)
│ ├── go.mod
│ ├── main.go # Reads internal/, copies to target dirs
│ └── main_test.go # Import rewriting and stale file cleanup tests
└── go/
├── internal/ # Source files (survive proto-generate, not importable externally)
│ └── authorization/v2/
│ ├── entity_identifier.go # Normal Go file, full IDE support
│ └── entity_identifier_test.go # Standard unit tests
└── authorization/v2/ # Proto-generated (nuked and recreated)
├── authorization.pb.go # buf generate output
├── authorization_grpc.pb.go # buf generate output
└── entity_identifier.gen.go # Copied from internal/ at build time
```
Source files import the proto package explicitly for compilation/IDE
support. The codegen tool strips the self-referencing import and
qualifier prefix when copying, producing clean in-package code. All
source files are read and transformed before any existing `.gen.go`
files are removed, so a failed read won't leave the target directory
empty.
The codegen tool lives in `protocol/codegen/` with its own `go.mod`
(stdlib only), outside the `protocol/go/` tree. This means the Makefile
`find` cleanup only needs to exclude `internal/` — no complicated
exclusion patterns.
## Test plan
- [x] `cd protocol/codegen && GOWORK=off go test ./...` — import
rewriting and stale file cleanup tests pass
- [x] `cd protocol/codegen && GOWORK=off go run .` — generates `.gen.go`
with correct import rewriting
- [x] `go test ./protocol/go/internal/authorization/v2/...` — source
tests pass
- [x] `go build ./protocol/go/authorization/v2/...` — proto package
builds with generated helpers
- [x] `go test ./sdk/...` — no breakage from removing old sdk helper
files
- [x] `golangci-lint run` — 0 issues on all new files
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added helper constructors to build entity identifiers from JWTs,
request tokens, client IDs, emails, and usernames.
* Added a dedicated codegen command to generate protocol helper sources.
* **Chores**
* Split protocol code generation into an independent helper target and
integrated it into the main generation flow.
* Broadened CI change detection to trigger protocol-related generation
when relevant files change.
* **Tests**
* Added tests validating codegen transformations and entity-identifier
constructors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: Mary Dickson <mary.dickson@virtru.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
🤖 I have created a release *beep* *boop* --- ## [0.23.0](protocol/go/v0.22.0...protocol/go/v0.23.0) (2026-04-07) ### Features * **policy:** add sort support to ListAttributes API ([#3223](#3223)) ([ec3312f](ec3312f)) * **sdk:** source-file codegen for EntityIdentifier helpers ([#3232](#3232)) ([ee8177c](ee8177c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request establishes an independent release pipeline for the otdfctl component. By integrating it into the existing release-please infrastructure and defining a new automated workflow, the changes ensure that otdfctl can be versioned and distributed separately from the rest of the monorepo, streamlining the release process for this specific tool. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. The pipeline flows with steady hand, / To ship the code across the land. / With tags in place and versions set, / The best release is coming yet. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request configures release-please for the otdfctl component by updating the main configuration, adding a component-specific configuration file, and updating the manifest. A suggestion was provided to add the bump-minor-pre-major setting to the new configuration file to ensure consistent versioning behavior for pre-1.0.0 versions.
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
Resolves [DSPX-2685](https://virtru.atlassian.net/browse/DSPX-2685) ## Proposed Changes - Adds strongly-typed sort support to `ListSubjectMappings` RPC, following the pattern established in #3223 (ListAttributes) and #3192 (ListNamespaces) - Sortable fields: `created_at`, `updated_at` (ASC/DESC), with backward-compatible fallback to `created_at DESC` ## Changes **Proto** — `service/policy/subjectmapping/subject_mapping.proto` - `SortSubjectMappingsType` enum (`UNSPECIFIED`, `CREATED_AT`, `UPDATED_AT`) - `SubjectMappingsSort` message (field + direction) - `repeated SubjectMappingsSort sort = 11` on `ListSubjectMappingsRequest` with `max_items = 1` constraint - Regenerated protos and docs **SQL** — `service/policy/db/queries/subject_mappings.sql` - CASE WHEN ORDER BY blocks for `created_at` and `updated_at` (ASC/DESC each) - Fallback `sm.created_at DESC` + tiebreaker `sm.id ASC` **Go** — `service/policy/db/utils.go` + `service/policy/db/subject_mappings.go` - `GetSubjectMappingsSortParams()`: maps enum to SQL-compatible field/direction strings - `ListSubjectMappings` handler wired to call mapper and pass params to sqlc query - Extracted `sortFieldCreatedAt`/`sortFieldUpdatedAt` constants in `utils.go` to resolve `goconst` lint across all sort helpers **_(slightly out of scope but necessary to avoid goconst errors)_** **Tests** - 9 unit tests for the enum mapper helper (nil, empty, unspecified, each field + direction) - 5 integration tests (created_at ASC/DESC, updated_at ASC/DESC, unspecified fallback) using `createSortTestSubjectMappings` suite helper - Protovalidate sort constraint test (`Test_ListSubjectMappingsRequest_Sort`) ## Notes - `name` sort is listed in the ticket but the `subject_mappings` table has no `name` column - `otdfctl --sort` flag deferred to a follow-up, consistent with #3192 and #3223 ### Checklist - [x] I have added or updated unit tests - [x] I have added or updated integration tests (if appropriate) - [x] I have added or updated documentation [DSPX-2685]: https://virtru.atlassian.net/browse/DSPX-2685?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added sorting to the subject mappings list: sort by created_at or updated_at, ASC/DESC, max one sort field per request. * **Documentation** * gRPC and OpenAPI docs updated to describe new sort enum, sort object, and request sort field. * **Tests** * Added unit and integration tests covering sort parameter validation and ordering behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
dmihalcik-virtru
left a comment
There was a problem hiding this comment.
Can you keep the lists alphabetized, i.e. insert the otdfctl blocks between the lib/* and protocol/* blocks?
…o 0.23.0 in /service (#3271) Bumps [github.com/opentdf/platform/protocol/go](https://github.com/opentdf/platform) from 0.22.0 to 0.23.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/opentdf/platform/releases">github.com/opentdf/platform/protocol/go's releases</a>.</em></p> <blockquote> <h2>protocol/go: v0.23.0</h2> <h2><a href="https://github.com/opentdf/platform/compare/protocol/go/v0.22.0...protocol/go/v0.23.0">0.23.0</a> (2026-04-07)</h2> <h3>Features</h3> <ul> <li><strong>policy:</strong> add sort support to ListAttributes API (<a href="https://redirect.github.com/opentdf/platform/issues/3223">#3223</a>) (<a href="https://github.com/opentdf/platform/commit/ec3312f622dec7ed18ffa6033c86b248b47a420a">ec3312f</a>)</li> <li><strong>sdk:</strong> source-file codegen for EntityIdentifier helpers (<a href="https://redirect.github.com/opentdf/platform/issues/3232">#3232</a>) (<a href="https://github.com/opentdf/platform/commit/ee8177c98bda4e7483fa26be736fe4965c00bf46">ee8177c</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/opentdf/platform/blob/otdfctl/v0.23.0/CHANGELOG.md">github.com/opentdf/platform/protocol/go's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/opentdf/otdfctl/compare/v0.22.0...v0.23.0">0.23.0</a> (2025-07-01)</h2> <h3>Features</h3> <ul> <li><strong>core:</strong> Import keys. (<a href="https://redirect.github.com/opentdf/otdfctl/issues/617">#617</a>) (<a href="https://github.com/opentdf/otdfctl/commit/4dc69e6eaf2cdb23116b97ca2448bbbd57346f49">4dc69e6</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/opentdf/platform/commit/c9e4c9ef41746a4a43c49a53b6a953120851e19d"><code>c9e4c9e</code></a> chore(main): release 0.23.0 (<a href="https://redirect.github.com/opentdf/platform/issues/619">#619</a>)</li> <li><a href="https://github.com/opentdf/platform/commit/4dc69e6eaf2cdb23116b97ca2448bbbd57346f49"><code>4dc69e6</code></a> feat(core): Import keys. (<a href="https://redirect.github.com/opentdf/platform/issues/617">#617</a>)</li> <li><a href="https://github.com/opentdf/platform/commit/e41a1587071f1f176dc11530b0f3429e16afcef1"><code>e41a158</code></a> docs(core): fix subject mapping update example command (<a href="https://redirect.github.com/opentdf/platform/issues/616">#616</a>)</li> <li><a href="https://github.com/opentdf/platform/commit/437b2fdf38616b7d574125694035718b9957f46a"><code>437b2fd</code></a> chore(core): Modify create key docs. (<a href="https://redirect.github.com/opentdf/platform/issues/615">#615</a>)</li> <li><a href="https://github.com/opentdf/platform/commit/8457bd0a91b000dd347dc36f98a075e3fc08d2c0"><code>8457bd0</code></a> chore(dependabot): bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3...</li> <li><a href="https://github.com/opentdf/platform/commit/32ca4eaf1e7b644ad693b517b947a8233b06aa65"><code>32ca4ea</code></a> docs(core): improve documentation of actions in entitlement (<a href="https://redirect.github.com/opentdf/platform/issues/612">#612</a>)</li> <li>See full diff in <a href="https://github.com/opentdf/platform/compare/otdfctl/v0.22.0...otdfctl/v0.23.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…o 0.23.0 in /sdk (#3270) Bumps [github.com/opentdf/platform/protocol/go](https://github.com/opentdf/platform) from 0.22.0 to 0.23.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/opentdf/platform/releases">github.com/opentdf/platform/protocol/go's releases</a>.</em></p> <blockquote> <h2>protocol/go: v0.23.0</h2> <h2><a href="https://github.com/opentdf/platform/compare/protocol/go/v0.22.0...protocol/go/v0.23.0">0.23.0</a> (2026-04-07)</h2> <h3>Features</h3> <ul> <li><strong>policy:</strong> add sort support to ListAttributes API (<a href="https://redirect.github.com/opentdf/platform/issues/3223">#3223</a>) (<a href="https://github.com/opentdf/platform/commit/ec3312f622dec7ed18ffa6033c86b248b47a420a">ec3312f</a>)</li> <li><strong>sdk:</strong> source-file codegen for EntityIdentifier helpers (<a href="https://redirect.github.com/opentdf/platform/issues/3232">#3232</a>) (<a href="https://github.com/opentdf/platform/commit/ee8177c98bda4e7483fa26be736fe4965c00bf46">ee8177c</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/opentdf/platform/blob/otdfctl/v0.23.0/CHANGELOG.md">github.com/opentdf/platform/protocol/go's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/opentdf/otdfctl/compare/v0.22.0...v0.23.0">0.23.0</a> (2025-07-01)</h2> <h3>Features</h3> <ul> <li><strong>core:</strong> Import keys. (<a href="https://redirect.github.com/opentdf/otdfctl/issues/617">#617</a>) (<a href="https://github.com/opentdf/otdfctl/commit/4dc69e6eaf2cdb23116b97ca2448bbbd57346f49">4dc69e6</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/opentdf/platform/commit/c9e4c9ef41746a4a43c49a53b6a953120851e19d"><code>c9e4c9e</code></a> chore(main): release 0.23.0 (<a href="https://redirect.github.com/opentdf/platform/issues/619">#619</a>)</li> <li><a href="https://github.com/opentdf/platform/commit/4dc69e6eaf2cdb23116b97ca2448bbbd57346f49"><code>4dc69e6</code></a> feat(core): Import keys. (<a href="https://redirect.github.com/opentdf/platform/issues/617">#617</a>)</li> <li><a href="https://github.com/opentdf/platform/commit/e41a1587071f1f176dc11530b0f3429e16afcef1"><code>e41a158</code></a> docs(core): fix subject mapping update example command (<a href="https://redirect.github.com/opentdf/platform/issues/616">#616</a>)</li> <li><a href="https://github.com/opentdf/platform/commit/437b2fdf38616b7d574125694035718b9957f46a"><code>437b2fd</code></a> chore(core): Modify create key docs. (<a href="https://redirect.github.com/opentdf/platform/issues/615">#615</a>)</li> <li><a href="https://github.com/opentdf/platform/commit/8457bd0a91b000dd347dc36f98a075e3fc08d2c0"><code>8457bd0</code></a> chore(dependabot): bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3...</li> <li><a href="https://github.com/opentdf/platform/commit/32ca4eaf1e7b644ad693b517b947a8233b06aa65"><code>32ca4ea</code></a> docs(core): improve documentation of actions in entitlement (<a href="https://redirect.github.com/opentdf/platform/issues/612">#612</a>)</li> <li>See full diff in <a href="https://github.com/opentdf/platform/compare/otdfctl/v0.22.0...otdfctl/v0.23.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Add otdfctl component to platform release-please configuration for independent versioned releases with cross-platform binary artifacts. - Add otdfctl package to release-please-config.main.json with extra-files pointing to pkg/config/config.go for version bumps - Add otdfctl entry to release-please-manifest.json at v0.30.0 - Create release-please-config.otdfctl.json for release branch support - Create release-otdfctl.yaml workflow: triggers on otdfctl/v* release tags, builds 8 cross-platform binaries via Makefile, uploads artifacts to GitHub release DSPX-2660 Signed-off-by: Krish Suchak <suchak.krish@gmail.com>
69d6f81 to
5af1d61
Compare
Benchmark results, click to expandBenchmark authorization.GetDecisions Results:
Benchmark authorization.v2.GetMultiResourceDecision Results:
Benchmark Statistics
Bulk Benchmark Results
TDF3 Benchmark Results:
|
|
Proposed Changes
otdfctl/v0.30.0otdfctl/pkg/config/config.goas extra-file so release-please bumps theVersionconstant (already has// x-release-please-versionmarker)otdfctl/v*tags, builds 8 cross-platform binaries (darwin amd64/arm64, linux amd64/arm/arm64, windows amd64/arm/arm64), and uploads artifacts to the GitHub releaseFiles added/modified
release-please-config.main.jsonotdfctlpackage entry withextra-filesrelease-please-manifest.json"otdfctl": "0.30.0"version trackingrelease-please-config.otdfctl.jsonrelease/otdfctl/vX.Ybranchesrelease-otdfctl.yamlPR Stack (DSPX-2654)
Checklist
Testing Instructions
cat .github/release-please/release-please-config.main.json | jq .packages.otdfctlcat .github/release-please/release-please-manifest.json | jq .otdfctlreusable_release-please.yamlconfig lookup: branchrelease/otdfctl/v0.30→ sanitized nameotdfctl→ resolves torelease-please-config.otdfctl.jsonotdfctl/v0.30.0