fix: feat: versioned releases — vault-gated tag, image build, and deploy (#112) #114

Merged
dev-qwen merged 1 commit from fix/issue-112 into main 2026-04-01 14:09:37 +00:00
Collaborator

Fixes #112

Changes

Fixes #112 ## Changes
dev-qwen added 1 commit 2026-04-01 13:51:43 +00:00
fix: feat: versioned releases — vault-gated tag, image build, and deploy (#112)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
16d2b19440
Collaborator

AI Review

Summary

PR adds a disinto release <version> command, a formulas/release.toml formula, a vault example, and bakes the disinto code into the Docker image (removing runtime volume mounts). The overall approach is sound and the formula steps are well-structured.

Issues

  • bug vault/examples/release.toml:12,26: ID format mismatch. The example documents id = "release-v1-2-0" (dots → dashes), but bin/disinto line 2654 generates id = "release-${version//./}" which strips dots entirely → release-v120 for v1.2.0. The example must match what the code actually produces, or the code needs to use ${version//./-} to produce dashes.

  • minor bin/disinto:2658-2659: formula_content is read from the formula file but never used — dead code. Remove it.

  • minor bin/disinto:2708-2709: org_repo$(echo "$PROJECT_REPO" | sed 's|.*||') — the sed pattern s|.*|| strips everything, producing an empty string. org_repo is never referenced afterward. The correct remote URL is already constructed on line 2710 using $PROJECT_REPO directly. Remove the dead variable.

  • minor bin/disinto:2700-2715: remote_url is computed (line 2702) and conditionally overwritten (line 2710), but git push -u origin on line 2713 never uses it. If the ops repo has no origin remote configured, the push fails with no fallback. Either use remote_url in the push command or remove the dead computation.

Verdict

REQUEST_CHANGES — ID format in vault/examples/release.toml doesn't match what the code generates; also has dead code with a broken sed pattern


Reviewed at 16d2b19 | AGENTS.md

## AI Review <!-- reviewed: 16d2b1944016619aca33a613663be4998ce4b728 --> ### Summary PR adds a `disinto release <version>` command, a `formulas/release.toml` formula, a vault example, and bakes the disinto code into the Docker image (removing runtime volume mounts). The overall approach is sound and the formula steps are well-structured. ### Issues - **bug** `vault/examples/release.toml:12,26`: ID format mismatch. The example documents `id = "release-v1-2-0"` (dots → dashes), but `bin/disinto` line 2654 generates `id = "release-${version//./}"` which strips dots entirely → `release-v120` for `v1.2.0`. The example must match what the code actually produces, or the code needs to use `${version//./-}` to produce dashes. - **minor** `bin/disinto:2658-2659`: `formula_content` is read from the formula file but never used — dead code. Remove it. - **minor** `bin/disinto:2708-2709`: `org_repo$(echo "$PROJECT_REPO" | sed 's|.*||')` — the sed pattern `s|.*||` strips everything, producing an empty string. `org_repo` is never referenced afterward. The correct remote URL is already constructed on line 2710 using `$PROJECT_REPO` directly. Remove the dead variable. - **minor** `bin/disinto:2700-2715`: `remote_url` is computed (line 2702) and conditionally overwritten (line 2710), but `git push -u origin` on line 2713 never uses it. If the ops repo has no `origin` remote configured, the push fails with no fallback. Either use `remote_url` in the push command or remove the dead computation. ### Verdict **REQUEST_CHANGES** — ID format in vault/examples/release.toml doesn't match what the code generates; also has dead code with a broken sed pattern --- *Reviewed at `16d2b19` | [AGENTS.md](AGENTS.md)*
review-bot requested changes 2026-04-01 14:00:46 +00:00
Dismissed
review-bot left a comment
Collaborator

AI Review: REQUEST_CHANGES — ID format in vault/examples/release.toml doesn't match what the code generates; also has dead code with a broken sed pattern

AI Review: **REQUEST_CHANGES** — ID format in vault/examples/release.toml doesn't match what the code generates; also has dead code with a broken sed pattern
dev-bot force-pushed fix/issue-112 from 16d2b19440 to a7ad6eb32a 2026-04-01 14:03:56 +00:00 Compare
Collaborator

AI Re-review (round 2)

Previous Findings

  • ID format mismatch (vault/examples/release.toml) → FIXED: example now correctly shows release-v120 matching ${version//./} in the code.
  • formula_content dead code (bin/disinto:2658-2659) → FIXED: removed.
  • org_repo dead code with broken sed (bin/disinto:2708-2709) → FIXED: removed.
  • remote_url computed but unused (bin/disinto:2700-2715) → FIXED: entire auth_url/remote_url/if block removed; push goes directly to origin.

Verdict

APPROVE — All previous findings fixed; no new issues


Reviewed at a7ad6eb | Previous: 16d2b19 | AGENTS.md

## AI Re-review (round 2) <!-- reviewed: a7ad6eb32a31ea2d17f0e66f8647b61682f2eca2 --> ### Previous Findings - **ID format mismatch** (`vault/examples/release.toml`) → FIXED: example now correctly shows `release-v120` matching `${version//./}` in the code. - **`formula_content` dead code** (`bin/disinto:2658-2659`) → FIXED: removed. - **`org_repo` dead code with broken sed** (`bin/disinto:2708-2709`) → FIXED: removed. - **`remote_url` computed but unused** (`bin/disinto:2700-2715`) → FIXED: entire auth_url/remote_url/if block removed; push goes directly to `origin`. ### Verdict **APPROVE** — All previous findings fixed; no new issues --- *Reviewed at `a7ad6eb` | Previous: `16d2b19` | [AGENTS.md](AGENTS.md)*
review-bot approved these changes 2026-04-01 14:07:35 +00:00
review-bot left a comment
Collaborator

AI Re-review (round 2): APPROVE — All previous findings fixed; no new issues

AI Re-review (round 2): **APPROVE** — All previous findings fixed; no new issues
dev-qwen merged commit efe57a02c9 into main 2026-04-01 14:09:37 +00:00
dev-qwen deleted branch fix/issue-112 2026-04-01 14:09:38 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
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: johba/disinto#114
No description provided.