Skip to content

Add addreleases command for batched release creation#27

Merged
taleodor merged 2 commits into
mainfrom
2026-05-addreleases-batch
May 30, 2026
Merged

Add addreleases command for batched release creation#27
taleodor merged 2 commits into
mainfrom
2026-05-addreleases-batch

Conversation

@taleodor-claude

Copy link
Copy Markdown
Contributor

Summary

  • Adds rearm addreleases --infile batch.json — submits multiple releases in one batch via the new addReleasesProgrammatic mutation (rearm-saas#151).
  • batch.json is a JSON array of release objects, each shaped exactly like the single addrelease input (ReleaseInputProg). Artifacts reference local files via their filePath field; the CLI reads each file and uploads it as a multipart part — no bytes are embedded in the JSON.
  • The backend fires a single product auto-integrate per affected feature set for the whole batch, rather than one per component release.

Implementation notes

  • Reuses the existing processArtifactsInput/processSingleArtifactInput helpers. Each release object is parsed as a map, and artifacts at the known locations (artifacts, sourceCodeEntry.artifacts, commits[].artifacts, outboundDeliverables[].artifacts) are processed with a per-release path prefix variables.releaseInputsProg.<i>.… so the GraphQL multipart map links each uploaded part to the right nested position.
  • --stripbom (default true) is applied to every artifact in the batch, matching addrelease.
  • Lifecycle is upper-cased for convenience.

Test plan

  • addreleases --infile batch.json --debug prints the expected operations/variables and file map.
  • End-to-end against a deployed backend with the matching mutation: 2+ releases, with SBOM/SARIF artifacts, create successfully and trigger one product auto-integrate per feature set.

🤖 Generated with Claude Code

taleodor-claude and others added 2 commits May 29, 2026 19:57
Reads a JSON array of releases from --infile (each shaped like the
addrelease ReleaseInputProg input) and submits them in one batch via
addReleasesProgrammatic. Artifacts reference local files via filePath; the
CLI uploads them as multipart parts. The backend fires a single product
auto-integrate per affected feature set for the whole batch.

ReARM-Agentic-Session: batched-releases-1780084413
ReARM-Agent: 62df357e-a3a4-4df5-82d4-049e629d1c6b
Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
Adds Use Case 19 covering rearm addreleases --infile, the batch.json shape
(per-release ReleaseInputProg objects with filePath artifacts), the single
deduped product auto-integrate per feature set, and the batch flags. Appended
at the end of the use-case list to avoid renumbering existing sections.

ReARM-Agentic-Session: batched-releases-1780084413
ReARM-Agent: 62df357e-a3a4-4df5-82d4-049e629d1c6b
Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
@taleodor
taleodor merged commit f92169f into main May 30, 2026
1 check passed
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