Skip to content

feat(cli): add otdfctl to platform CI matrix#3221

Merged
alkalescent merged 4 commits into
DSPX-2655-migrate-otdfctlfrom
DSPX-2658-otdfctl-ci
Mar 31, 2026
Merged

feat(cli): add otdfctl to platform CI matrix#3221
alkalescent merged 4 commits into
DSPX-2655-migrate-otdfctlfrom
DSPX-2658-otdfctl-ci

Conversation

@alkalescent

Copy link
Copy Markdown
Contributor

Proposed Changes

  • Add otdfctl to the checks.yaml go job matrix for govulncheck, golangci-lint, unit tests, and go fmt/tidy checks.

Checklist

  • I have added or updated unit tests
  • I have added or updated integration tests (if appropriate)
  • I have added or updated documentation

Testing Instructions

Add otdfctl to the checks.yaml go job matrix for govulncheck,
golangci-lint, unit tests, and go fmt/tidy checks.

DSPX-2658

Signed-off-by: Krish Suchak <suchak.krish@gmail.com>
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

@coderabbitai

coderabbitai Bot commented Mar 27, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 454e7f1a-b084-4d0e-90a6-d66feb5863a6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch DSPX-2658-otdfctl-ci

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added comp:ci Github Actions Work size/xs labels Mar 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor
Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 203.515622ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 98.229218ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 392.782366ms
Throughput 254.59 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 39.847136218s
Average Latency 397.373906ms
Throughput 125.48 requests/second

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor
Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 215.771376ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 104.130288ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 389.42349ms
Throughput 256.79 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 41.353805611s
Average Latency 412.405487ms
Throughput 120.91 requests/second

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor
Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 147.14239ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 79.290473ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 385.108705ms
Throughput 259.67 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 38.142625942s
Average Latency 379.825276ms
Throughput 131.09 requests/second

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor
Benchmark results, click to expand

Benchmark authorization.GetDecisions Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 176.861357ms

Benchmark authorization.v2.GetMultiResourceDecision Results:

Metric Value
Approved Decision Requests 1000
Denied Decision Requests 0
Total Time 95.335541ms

Benchmark Statistics

Name № Requests Avg Duration Min Duration Max Duration

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 411.974312ms
Throughput 242.73 requests/second

TDF3 Benchmark Results:

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 40.231505961s
Average Latency 400.741222ms
Throughput 124.28 requests/second

@github-actions

Copy link
Copy Markdown
Contributor

@alkalescent
alkalescent marked this pull request as ready for review March 30, 2026 19:57
@alkalescent
alkalescent requested review from a team as code owners March 30, 2026 19:57
@alkalescent
alkalescent merged commit 07bc639 into DSPX-2655-migrate-otdfctl Mar 31, 2026
33 of 34 checks passed
@alkalescent
alkalescent deleted the DSPX-2658-otdfctl-ci branch March 31, 2026 06:20
alkalescent added a commit that referenced this pull request Apr 6, 2026
### Proposed Changes

* Add otdfctl to the checks.yaml go job matrix for govulncheck,
golangci-lint, unit tests, and go fmt/tidy checks.

### Checklist

- [ ] I have added or updated unit tests
- [ ] I have added or updated integration tests (if appropriate)
- [ ] I have added or updated documentation

### Testing Instructions

---------

Signed-off-by: Krish Suchak <suchak.krish@gmail.com>
alkalescent added a commit that referenced this pull request Apr 10, 2026
### Proposed Changes

* Add otdfctl to the checks.yaml go job matrix for govulncheck,
golangci-lint, unit tests, and go fmt/tidy checks.

### Checklist

- [ ] I have added or updated unit tests
- [ ] I have added or updated integration tests (if appropriate)
- [ ] I have added or updated documentation

### Testing Instructions

---------

Signed-off-by: Krish Suchak <suchak.krish@gmail.com>
alkalescent added a commit that referenced this pull request Apr 10, 2026
### Proposed Changes

* Add otdfctl component to platform release-please configuration for
independent versioned releases
* Tags follow the monorepo per-component pattern: `otdfctl/v0.30.0`
* Register `otdfctl/pkg/config/config.go` as extra-file so
release-please bumps the `Version` constant (already has `//
x-release-please-version` marker)
* Create release workflow that triggers on `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 release

#### Files added/modified

| File | Change |
|------|--------|
| `release-please-config.main.json` | Add `otdfctl` package entry with
`extra-files` |
| `release-please-manifest.json` | Add `"otdfctl": "0.30.0"` version
tracking |
| `release-please-config.otdfctl.json` | **New** — component config for
`release/otdfctl/vX.Y` branches |
| `release-otdfctl.yaml` | **New** — build and upload workflow on
release publish |

#### PR Stack (DSPX-2654)

1. #3205 — Subtree merge + module path rewrite (DSPX-2655, DSPX-2656)
2. #3208 — Makefile and build scripts (DSPX-2657)
3. #3221 — CI workflows (DSPX-2658)
4. #3236 — e2e tests and lint fixes (DSPX-2659)
5. **This PR** — Release pipeline (DSPX-2660)

### Checklist

- [ ] I have added or updated unit tests
- [x] I have added or updated integration tests (if appropriate)
- [x] I have added or updated documentation

### Testing Instructions

- Verify JSON configs are valid: `cat
.github/release-please/release-please-config.main.json | jq
.packages.otdfctl`
- Verify manifest version: `cat
.github/release-please/release-please-manifest.json | jq .otdfctl`
- Verify `reusable_release-please.yaml` config lookup: branch
`release/otdfctl/v0.30` → sanitized name `otdfctl` → resolves to
`release-please-config.otdfctl.json`
- Full release flow testable after merge by creating a manual release
with tag `otdfctl/v0.30.0`

---------

Signed-off-by: Krish Suchak <suchak.krish@gmail.com>
alkalescent added a commit that referenced this pull request Apr 14, 2026
### Proposed Changes

* Add `otdfctl/e2e` to the `github-actions` dependabot ecosystem so
composite action dependencies (`actions/setup-go`,
`bats-core/bats-action`, `actions/upload-artifact`) are tracked
* Add `otdfctl` gomod entry with daily schedule and
`github.com/opentdf/*` internal dep exclusion, matching existing module
patterns

#### Files modified

| File | Change |
|------|--------|
| `.github/dependabot.yml` | Add `otdfctl/e2e` to github-actions
directories; add `otdfctl` gomod entry |

#### Already configured (no changes needed)

| Workflow | Status |
|----------|--------|
| Backport | Uses repo-wide reusable workflow |
| CodeQL | Scans entire repo (no path filters) |
| Dependency review | Single consolidated deny-license list |
| PR lint | `cli` scope already present |
| Checks matrix | `otdfctl` already in directory list |

#### PR Stack (DSPX-2654)

1. #3205 — Subtree merge + module path rewrite (DSPX-2655, DSPX-2656)
2. #3208 — Makefile and build scripts (DSPX-2657)
3. #3221 — CI workflows (DSPX-2658)
4. #3236 — e2e tests and lint fixes (DSPX-2659)
5. #3268 — Release pipeline (DSPX-2660)
6. **This PR** — Supporting workflows (DSPX-2661)

### Checklist

- [ ] I have added or updated unit tests
- [x] I have added or updated integration tests (if appropriate)
- [x] I have added or updated documentation

### Testing Instructions

- Verify YAML is valid: `python3 -c "import yaml;
yaml.safe_load(open('.github/dependabot.yml'))"`
- Verify otdfctl gomod entry: search for `directory: "/otdfctl"` in
dependabot.yml
- Verify github-actions directories include `/otdfctl/e2e`
alkalescent added a commit that referenced this pull request Apr 20, 2026
### Proposed Changes

* Add otdfctl to the checks.yaml go job matrix for govulncheck,
golangci-lint, unit tests, and go fmt/tidy checks.

### Checklist

- [ ] I have added or updated unit tests
- [ ] I have added or updated integration tests (if appropriate)
- [ ] I have added or updated documentation

### Testing Instructions

---------

Signed-off-by: Krish Suchak <suchak.krish@gmail.com>
alkalescent added a commit that referenced this pull request Apr 20, 2026
* Add otdfctl component to platform release-please configuration for
independent versioned releases
* Tags follow the monorepo per-component pattern: `otdfctl/v0.30.0`
* Register `otdfctl/pkg/config/config.go` as extra-file so
release-please bumps the `Version` constant (already has `//
x-release-please-version` marker)
* Create release workflow that triggers on `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 release

| File | Change |
|------|--------|
| `release-please-config.main.json` | Add `otdfctl` package entry with
`extra-files` |
| `release-please-manifest.json` | Add `"otdfctl": "0.30.0"` version
tracking |
| `release-please-config.otdfctl.json` | **New** — component config for
`release/otdfctl/vX.Y` branches |
| `release-otdfctl.yaml` | **New** — build and upload workflow on
release publish |

1. #3205 — Subtree merge + module path rewrite (DSPX-2655, DSPX-2656)
2. #3208 — Makefile and build scripts (DSPX-2657)
3. #3221 — CI workflows (DSPX-2658)
4. #3236 — e2e tests and lint fixes (DSPX-2659)
5. **This PR** — Release pipeline (DSPX-2660)

- [ ] I have added or updated unit tests
- [x] I have added or updated integration tests (if appropriate)
- [x] I have added or updated documentation

- Verify JSON configs are valid: `cat
.github/release-please/release-please-config.main.json | jq
.packages.otdfctl`
- Verify manifest version: `cat
.github/release-please/release-please-manifest.json | jq .otdfctl`
- Verify `reusable_release-please.yaml` config lookup: branch
`release/otdfctl/v0.30` → sanitized name `otdfctl` → resolves to
`release-please-config.otdfctl.json`
- Full release flow testable after merge by creating a manual release
with tag `otdfctl/v0.30.0`

---------

Signed-off-by: Krish Suchak <suchak.krish@gmail.com>
alkalescent added a commit that referenced this pull request Apr 20, 2026
### Proposed Changes

* Add `otdfctl/e2e` to the `github-actions` dependabot ecosystem so
composite action dependencies (`actions/setup-go`,
`bats-core/bats-action`, `actions/upload-artifact`) are tracked
* Add `otdfctl` gomod entry with daily schedule and
`github.com/opentdf/*` internal dep exclusion, matching existing module
patterns

#### Files modified

| File | Change |
|------|--------|
| `.github/dependabot.yml` | Add `otdfctl/e2e` to github-actions
directories; add `otdfctl` gomod entry |

#### Already configured (no changes needed)

| Workflow | Status |
|----------|--------|
| Backport | Uses repo-wide reusable workflow |
| CodeQL | Scans entire repo (no path filters) |
| Dependency review | Single consolidated deny-license list |
| PR lint | `cli` scope already present |
| Checks matrix | `otdfctl` already in directory list |

#### PR Stack (DSPX-2654)

1. #3205 — Subtree merge + module path rewrite (DSPX-2655, DSPX-2656)
2. #3208 — Makefile and build scripts (DSPX-2657)
3. #3221 — CI workflows (DSPX-2658)
4. #3236 — e2e tests and lint fixes (DSPX-2659)
5. #3268 — Release pipeline (DSPX-2660)
6. **This PR** — Supporting workflows (DSPX-2661)

### Checklist

- [ ] I have added or updated unit tests
- [x] I have added or updated integration tests (if appropriate)
- [x] I have added or updated documentation

### Testing Instructions

- Verify YAML is valid: `python3 -c "import yaml;
yaml.safe_load(open('.github/dependabot.yml'))"`
- Verify otdfctl gomod entry: search for `directory: "/otdfctl"` in
dependabot.yml
- Verify github-actions directories include `/otdfctl/e2e`
JBCongdon pushed a commit to JBCongdon/platform that referenced this pull request May 24, 2026
### Proposed Changes

* Base PR for the otdfctl migration stack
([DSPX-2654](https://virtru.atlassian.net/browse/DSPX-2654) epic)
* Merge `opentdf/otdfctl` into `otdfctl/` via `git subtree add`,
preserving full git history and tags
* Rewrite Go module path and integrate with `go.work` workspace

#### DSPX-2655: Subtree merge + cleanup
- Subtree merge of latest otdfctl main (v0.30.0, includes namespace
refactor and dependency bumps)
- Remove files handled at platform root (`.github/`, `.golangci.yaml`,
`CONTRIBUTING.md`, `LICENSE`)
- Keep `otdfctl/CHANGELOG.md` for historical reference
- Update root `.gitignore`, `CODEOWNERS`, pr-checks scope
- Import tags as `otdfctl/*` prefix (e.g., `otdfctl/v0.26.2`)

#### DSPX-2656: Module path rewrite
- Rewrite module path: `github.com/opentdf/otdfctl` →
`github.com/opentdf/platform/otdfctl`
- Update all Go import statements (~54 files)
- Add `otdfctl` to `go.work` workspace
- Update `Dockerfile`

#### DSPX-2657: Makefile and build scripts
- Update root and otdfctl Makefiles for monorepo integration
- Restore build scripts from original otdfctl repo

#### DSPX-2658: CI matrix
- Add otdfctl to `checks.yaml` go job matrix
- govulncheck, golangci-lint, unit tests, go fmt/tidy checks

#### PR Stack (DSPX-2654)

1. **This PR (opentdf#3205)** — Subtree merge + module path rewrite (DSPX-2655,
DSPX-2656)
2. opentdf#3208 — Makefile and build scripts (DSPX-2657)
3. opentdf#3221 — CI workflows (DSPX-2658)
4. (future) — e2e tests (DSPX-2659)

### Checklist

- [ ] I have added or updated unit tests
- [ ] I have added or updated integration tests (if appropriate)
- [ ] I have added or updated documentation

### Testing Instructions

- `git log --oneline --follow -M otdfctl/cmd/root.go` shows pre-merge
history
- `git tag | grep otdfctl/v0.26` confirms tags imported
- `go build ./otdfctl/...` succeeds

[DSPX-2654]:
https://virtru.atlassian.net/browse/DSPX-2654?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Signed-off-by: Krish Suchak <suchak.krish@gmail.com>
Co-authored-by: Chris Reed <87077975+c-r33d@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp:ci Github Actions Work size/xs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants