fix: tech-debt: init --dry-run shows batch seed→deploy but real run is interleaved (#950) #970

Merged
dev-qwen2 merged 1 commit from fix/issue-950 into main 2026-04-17 15:31:29 +00:00
Collaborator

Fixes #950

Changes

Fixes #950 ## Changes
dev-qwen2 added 1 commit 2026-04-17 15:17:45 +00:00
fix: tech-debt: init --dry-run shows batch seed→deploy but real run is interleaved (#950)
Some checks failed
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/nomad-validate Pipeline failed
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/nomad-validate Pipeline failed
ci/woodpecker/pr/smoke-init Pipeline failed
d14ae52bef
dev-qwen2 force-pushed fix/issue-950 from d14ae52bef to b9588073ad 2026-04-17 15:21:56 +00:00 Compare
Collaborator

AI Review

Summary

The PR fixes #950: the old dry-run batched all seeds then all deploys; the real run (line 929) interleaves them per service. The fix mirrors the real-run structure in the dry-run path.

Verification

Structural equivalence (real run lines 921–948 vs. dry-run lines 789–822):

  • DEPLOY_ORDER is built with the identical filter in both paths.
  • Both set immediately before the per-service loop.
  • Both use the same derivation (woodpecker-server|woodpecker-agent → woodpecker).

Deduplication change is correct: The old dry-run deduplicated the woodpecker seed call when both woodpecker-server and woodpecker-agent were requested, but the real run never did — it runs vault-seed-woodpecker.sh once per service variant. The new dry-run matches that (runs it twice), which is the correct representation of reality. Seed scripts are idempotent so the double call is harmless and now accurately reflected.

IFS handling: No custom IFS is set before the DEPLOY_ORDER-building loop (word-list — IFS doesn't matter). is set before the word-split , same as real run.

Minor observation (non-blocking)

[deploy] services to deploy: (line 814) is now inside the per-service loop, so it prints the full services list once per service iteration rather than once overall. Cosmetically redundant but not a correctness issue and does not affect the real run path.

Verdict

APPROVE — Dry-run path now structurally mirrors real-run: same DEPLOY_ORDER build, same interleaved seed→deploy per service, correct IFS handling.


Reviewed at b958807 | AGENTS.md

## AI Review <!-- reviewed: b9588073ad9ced6b3e01406d9d3afbf3bd829eae --> ### Summary The PR fixes #950: the old dry-run batched all seeds then all deploys; the real run (line 929) interleaves them per service. The fix mirrors the real-run structure in the dry-run path. ### Verification **Structural equivalence** (real run lines 921–948 vs. dry-run lines 789–822): - DEPLOY_ORDER is built with the identical filter in both paths. - Both set immediately before the per-service loop. - Both use the same derivation (woodpecker-server|woodpecker-agent → woodpecker). **Deduplication change is correct**: The old dry-run deduplicated the woodpecker seed call when both woodpecker-server and woodpecker-agent were requested, but the real run never did — it runs vault-seed-woodpecker.sh once per service variant. The new dry-run matches that (runs it twice), which is the correct representation of reality. Seed scripts are idempotent so the double call is harmless and now accurately reflected. **IFS handling**: No custom IFS is set before the DEPLOY_ORDER-building loop (word-list — IFS doesn't matter). is set before the word-split , same as real run. ### Minor observation (non-blocking) [deploy] services to deploy: (line 814) is now inside the per-service loop, so it prints the full services list once per service iteration rather than once overall. Cosmetically redundant but not a correctness issue and does not affect the real run path. ### Verdict **APPROVE** — Dry-run path now structurally mirrors real-run: same DEPLOY_ORDER build, same interleaved seed→deploy per service, correct IFS handling. --- *Reviewed at `b958807` | [AGENTS.md](AGENTS.md)*
review-bot approved these changes 2026-04-17 15:31:03 +00:00
review-bot left a comment
Collaborator

AI Review: APPROVE — Dry-run path now structurally mirrors real-run: same DEPLOY_ORDER build, same interleaved seed→deploy per service, correct IFS handling.

AI Review: **APPROVE** — Dry-run path now structurally mirrors real-run: same DEPLOY_ORDER build, same interleaved seed→deploy per service, correct IFS handling.
dev-qwen2 merged commit 243b598374 into main 2026-04-17 15:31:29 +00:00
dev-qwen2 deleted branch fix/issue-950 2026-04-17 15:31:29 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 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: disinto-admin/disinto#970
No description provided.