Skip to content

fix(ci): fix update-protos workflow failing on large generated files#940

Merged
eugenioenko merged 6 commits into
mainfrom
dspx-3613
Jun 17, 2026
Merged

fix(ci): fix update-protos workflow failing on large generated files#940
eugenioenko merged 6 commits into
mainfrom
dspx-3613

Conversation

@eugenioenko

@eugenioenko eugenioenko commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The update-protos.yaml workflow has been failing for 5+ days because it uploads each generated file via gh api --method PUT (GitHub Contents API), which passes base64-encoded content as a CLI argument. Large files like validate_pb.ts exceed the shell's argument length limit ("Argument list too long").
  • Replaced the file-by-file Contents API upload with git add -A && git commit && git push, which has no file size constraints.
  • This unblocks the proto bump to protocol/go/v0.33.1 which includes the new search/sort/filter types needed for DSPX-312.

The error

https://github.com/opentdf/web-sdk/actions/runs/27709887043/job/81967942871

Committing changes...
Committing file: lib/src/platform/buf/validate/validate_pb.ts
/home/runner/work/_temp/cef46946-22e8-48d9-8206-870d899f246a.sh: line 15: /usr/bin/gh: Argument list too long

Test Run

https://github.com/opentdf/web-sdk/actions/runs/27710777426

Summary by CodeRabbit

  • Chores
    • Updated internal workflow configuration.

…orkflow

The file-by-file upload via gh api PUT broke on large generated files
(validate_pb.ts) with "Argument list too long", blocking proto updates
for 5+ days.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@eugenioenko eugenioenko requested a review from a team as a code owner June 17, 2026 18:14
@gemini-code-assist

Copy link
Copy Markdown

Note

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

@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The update-protos.yaml workflow is adjusted so that the "Commit and push changes" step gains its own env block with BRANCH_NAME: update-platform-protos. The previously broader env placement—which also included GITHUB_TOKEN—is removed. The git commands themselves are unchanged.

Changes

Workflow env scoping fix

Layer / File(s) Summary
Step-local env block and git push script
.github/workflows/update-protos.yaml
Introduces a step-level env block on the "Commit and push changes" step that sets BRANCH_NAME to update-platform-protos, and removes the prior broader env block (which also set GITHUB_TOKEN) from its previous position. The git add, git commit, and git push commands are unchanged.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐇 A hop, a tweak, a YAML rearrange,
env now lives where it ought to be.
The branch name scoped, no longer strange,
The token freed, the pipeline free.
Small fix, big smile — off hops the rabbit! 🌿

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: fixing the update-protos CI workflow by addressing the file upload mechanism failure on large generated files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dspx-3613

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.

❤️ Share

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

eugenioenko and others added 4 commits June 17, 2026 11:17
Write base64 content to a temp file and use gh api's @file syntax
instead of passing it as a CLI argument, which fails on large
generated files like validate_pb.ts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GitHub Contents API rejects base64 with newlines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The file-by-file upload via gh api PUT fails on large generated files.
Use git add/commit/push instead, scoped to the known proto outputs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

X-Test Failure Report

opentdf-ctl
opentdf-sdk-lib

@github-actions

Copy link
Copy Markdown

X-Test Failure Report

opentdf-ctl
opentdf-sdk-lib

@github-actions

Copy link
Copy Markdown

X-Test Failure Report

opentdf-ctl
opentdf-sdk-lib

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

X-Test Failure Report

opentdf-ctl
opentdf-sdk-lib

@eugenioenko eugenioenko merged commit 04f3ae4 into main Jun 17, 2026
28 of 29 checks passed
@eugenioenko eugenioenko deleted the dspx-3613 branch June 17, 2026 18:50
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