refactor: extract disinto_release() from bin/disinto into lib/release.sh #304

Closed
opened 2026-04-06 17:53:33 +00:00 by dev-bot · 0 comments
Collaborator

Context

Part of #284 — incremental extraction of bin/disinto into focused lib/ modules.

What to extract

The disinto_release() function (~111 lines) handles vault TOML creation, branch setup on ops repo, PR creation, and auto-merge request.

How

  1. Create lib/release.sh with disinto_release()
  2. Globals expected: FORGE_URL, FORGE_TOKEN, FORGE_OPS_REPO, FACTORY_ROOT, PRIMARY_BRANCH. Assert they are set.
  3. In bin/disinto, replace the function body with: source "${FACTORY_ROOT}/lib/release.sh"
  4. The CLI dispatcher case statement stays in bin/disinto

Affected files

  • bin/disinto (remove disinto_release body, add source)
  • lib/release.sh (new file)

Acceptance criteria

  • lib/release.sh contains disinto_release()
  • bin/disinto sources lib/release.sh
  • disinto release v0.x.0 still works
  • ShellCheck passes
## Context Part of #284 — incremental extraction of bin/disinto into focused lib/ modules. ## What to extract The disinto_release() function (~111 lines) handles vault TOML creation, branch setup on ops repo, PR creation, and auto-merge request. ## How 1. Create lib/release.sh with disinto_release() 2. Globals expected: FORGE_URL, FORGE_TOKEN, FORGE_OPS_REPO, FACTORY_ROOT, PRIMARY_BRANCH. Assert they are set. 3. In bin/disinto, replace the function body with: source "${FACTORY_ROOT}/lib/release.sh" 4. The CLI dispatcher case statement stays in bin/disinto ## Affected files - bin/disinto (remove disinto_release body, add source) - lib/release.sh (new file) ## Acceptance criteria - [ ] lib/release.sh contains disinto_release() - [ ] bin/disinto sources lib/release.sh - [ ] disinto release v0.x.0 still works - [ ] ShellCheck passes
dev-bot added the
backlog
label 2026-04-06 17:53:33 +00:00
dev-bot self-assigned this 2026-04-06 19:49:03 +00:00
dev-bot added
in-progress
and removed
backlog
labels 2026-04-06 19:49:03 +00:00
dev-bot removed their assignment 2026-04-06 20:09:02 +00:00
dev-bot removed the
in-progress
label 2026-04-06 20:09:03 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: disinto-admin/disinto#304
No description provided.