Skip to content

fix: restore smoke-test workspace changelog for prepare-release#418

Merged
c-vigo merged 8 commits intorelease/0.3.1from
bugfix/417-smoke-test-dispatch-failure
Mar 23, 2026
Merged

fix: restore smoke-test workspace changelog for prepare-release#418
c-vigo merged 8 commits intorelease/0.3.1from
bugfix/417-smoke-test-dispatch-failure

Conversation

@c-vigo
Copy link
Contributor

@c-vigo c-vigo commented Mar 23, 2026

Description

Smoke-test RC deploy left workspace CHANGELOG.md as the empty scaffold after init-workspace.sh --smoke-test, so downstream prepare-release.yml failed validation (Unreleased section has no entries). This change copies .devcontainer/CHANGELOG.md to the workspace root during smoke-test install, runs new prepare-changelog unprepare to rename the top ## [semver] - … heading to ## Unreleased, and drops the redundant remap block from the smoke-test dispatch workflow.

Type of Change

  • feat -- New feature
  • fix -- Bug fix
  • docs -- Documentation only
  • chore -- Maintenance task (deps, config, etc.)
  • refactor -- Code restructuring (no behavior change)
  • test -- Adding or updating tests
  • ci -- CI/CD pipeline changes
  • build -- Build system or dependency changes
  • revert -- Reverts a previous commit
  • style -- Code style (formatting, whitespace)

Modifiers

  • Breaking change (!) -- This change breaks backward compatibility

Changes Made

  • packages/vig-utils/src/vig_utils/prepare_changelog.py — Add unprepare_changelog() and prepare-changelog unprepare CLI subcommand (rename first top-level ## [semver] - … to ## Unreleased).
  • packages/vig-utils/tests/test_prepare_changelog.py — Unit tests, command-handler tests, main() and subprocess coverage for unprepare.
  • assets/init-workspace.sh — After smoke-test rsyncs, copy .devcontainer/CHANGELOG.mdCHANGELOG.md and run prepare-changelog unprepare (requires prepare-changelog on PATH in the install image).
  • assets/smoke-test/.github/workflows/repository-dispatch.yml — Remove inline awk/sed remap; keep existence/readability checks for changelogs.
  • CHANGELOG.md / assets/workspace/.devcontainer/CHANGELOG.md — Document the fix under the active release section.
  • packages/vig-utils/README.md — Document unprepare in the CLI list and examples.

Diff vs release/0.3.1: 7 files, +234 / −11 lines.

Changelog Entry

Paste from ## [0.3.1] - TBD### Fixed:

Fixed

  • Smoke-test deploy restores workspace CHANGELOG for prepare-release (#417)
    • Add prepare-changelog unprepare to rename the top ## [semver] - … heading to ## Unreleased
    • init-workspace.sh --smoke-test copies .devcontainer/CHANGELOG.md into workspace CHANGELOG.md and runs unprepare; remove duplicate remap from smoke-test dispatch workflow

Testing

  • Tests pass locally (just test)
  • Manual testing performed (describe below)

Manual Testing Details

N/A (not run in a full smoke-test dispatch; verify with next RC after promoting templates).

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have updated the documentation accordingly (edit docs/templates/, then run just docs)
  • I have updated CHANGELOG.md under the active ## [0.3.1] - TBD section (and pasted the entry above)
  • My changes generate no new warnings or errors
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Additional Notes

Target base branch: release/0.3.1. After merge, promote updated smoke-test templates / tag an RC so vig-os/devcontainer-smoke-test picks up the fix.

Refs: #417

c-vigo added 6 commits March 23, 2026 16:19
Wire CLI subcommand and stub implementation; tests fail until unprepare is implemented.

Refs: #417
Rename first ## [semver] - … heading to ## Unreleased for smoke-test sync.

Refs: #417
…prepare

Smoke-test install copies .devcontainer/CHANGELOG.md to workspace root and runs unprepare so prepare-release validation sees Unreleased entries.

Refs: #417
Remap is handled in init-workspace.sh during smoke-test install.

Refs: #417
@c-vigo c-vigo self-assigned this Mar 23, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes smoke-test RC deploys leaving the workspace root CHANGELOG.md in an invalid scaffold state that causes downstream prepare-release.yml validation to fail, by normalizing the changelog during smoke-test installs and adding a dedicated prepare-changelog unprepare helper in vig-utils.

Changes:

  • Add unprepare_changelog() + prepare-changelog unprepare subcommand to rename the first ## [X.Y.Z] - … heading to ## Unreleased, with unit + CLI/subprocess tests.
  • Update init-workspace.sh --smoke-test to copy .devcontainer/CHANGELOG.md to the workspace root and run prepare-changelog unprepare.
  • Remove the redundant changelog remap block from the smoke-test dispatch workflow and adjust BATS coverage accordingly; document the fix in both changelog copies and vig-utils README.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/bats/just.bats Updates BATS assertion to reflect simplified smoke-test changelog checks (remap logic removed from workflow).
packages/vig-utils/tests/test_prepare_changelog.py Adds comprehensive coverage for unprepare (unit, handler, main(), and subprocess e2e).
packages/vig-utils/src/vig_utils/prepare_changelog.py Introduces unprepare_changelog() and wires unprepare into the CLI.
packages/vig-utils/README.md Documents the new prepare-changelog unprepare command in usage and examples.
CHANGELOG.md Adds release-note entry describing the smoke-test changelog restoration fix.
assets/workspace/.devcontainer/CHANGELOG.md Mirrors the same release-note entry in the workspace template changelog copy.
assets/smoke-test/.github/workflows/repository-dispatch.yml Removes inline awk/sed changelog remap now handled during smoke-test install; keeps existence/readability checks.
assets/init-workspace.sh Implements smoke-test-time changelog copy + prepare-changelog unprepare normalization.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@c-vigo c-vigo merged commit 9eb7292 into release/0.3.1 Mar 23, 2026
12 checks passed
@c-vigo c-vigo deleted the bugfix/417-smoke-test-dispatch-failure branch March 23, 2026 17:10
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