Skip to content

fix(ci): smoke-test deploy uses workspace changelog scaffold#415

Merged
c-vigo merged 3 commits intorelease/0.3.1from
bugfix/403-smoke-test-changelog-scaffold
Mar 23, 2026
Merged

fix(ci): smoke-test deploy uses workspace changelog scaffold#415
c-vigo merged 3 commits intorelease/0.3.1from
bugfix/403-smoke-test-changelog-scaffold

Conversation

@c-vigo
Copy link
Contributor

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

Description

Smoke-test repository-dispatch deploy job no longer replaces root CHANGELOG.md with a minimal stub. It keeps the scaffold produced by init-workspace, injects the deploy bullet under the first ### Changed, and remaps a leading ## [X.Y.Z] - … (TBD or release date) to ## Unreleased when needed so downstream prepare-release validation succeeds across RC and final cycles.

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

  • assets/smoke-test/.github/workflows/repository-dispatch.yml
    • Require existing readable CHANGELOG.md after install (workspace scaffold).
    • Detect first ## section: if ## Unreleased, leave as-is; if ## [version] - …, rewrite first such line to ## Unreleased via GNU sed.
    • Append - Deploy devcontainer ${TAG} after the first ### Changed line.
  • CHANGELOG.md and assets/workspace/.devcontainer/CHANGELOG.md

Changelog Entry

This branch uses the active release section ## [0.3.1] - TBD (not ## Unreleased). Entry added under Fixed:

Fixed

  • Smoke-test deploy keeps workspace scaffold as root CHANGELOG (#403)
    • Stop overwriting CHANGELOG.md with a minimal stub in assets/smoke-test/.github/workflows/repository-dispatch.yml
    • Inject the deploy line into the ## Unreleased scaffold from init-workspace so downstream prepare-release validation matches shipped workspace layout
    • When the first changelog section is ## [X.Y.Z] - … (TBD or a release date), remap that top version header to ## Unreleased before injecting the deploy entry so downstream prepare-release can run

Testing

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

Manual Testing Details

N/A — workflow shell logic only; validated sed remap behavior locally for dated and TBD headers.

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 in the [Unreleased] 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

  • Downstream prepare-release expects ## Unreleased with at least one - entry; remapping supports post-release CHANGELOG layouts where the top section is still a version header.
  • Base release/0.3.1: Changelog entry is under ## [0.3.1] - TBDFixed, matching the release branch.

Refs: #403

@c-vigo c-vigo self-assigned this Mar 23, 2026
@c-vigo c-vigo requested a review from Copilot March 23, 2026 11:31
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

Updates the smoke-test repository-dispatch deploy workflow so it preserves the workspace-generated CHANGELOG.md scaffold (instead of overwriting it with a minimal stub), while still ensuring downstream prepare-release changelog validation succeeds across release cycles.

Changes:

  • Adjust deploy workflow logic to require an existing readable root CHANGELOG.md, optionally remap a leading ## [X.Y.Z] - … header to ## Unreleased, and inject the deploy bullet under ### Changed.
  • Document the fix in the root CHANGELOG.md.
  • Mirror the same changelog entry into the workspace template’s .devcontainer/CHANGELOG.md.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
assets/smoke-test/.github/workflows/repository-dispatch.yml Stop generating a stub changelog; validate/remap/inject into the existing scaffold.
CHANGELOG.md Adds a “Fixed” entry describing the smoke-test deploy changelog behavior change.
assets/workspace/.devcontainer/CHANGELOG.md Mirrors the same changelog entry for the template-synced devcontainer changelog.

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

c-vigo added 2 commits March 23, 2026 12:45
Extend NEEDS_CHOWN when root CHANGELOG.md exists but is unreadable.
Inject deploy line only after the first ### Changed via GNU sed range.
Update BATS regression for workspace changelog scaffold.

Refs: #403
Smoke-test deploy keeps the workspace scaffold only; remap top version
header when needed for prepare-release. Sync changelog copy and BATS.

Refs: #403
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

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.


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

@c-vigo c-vigo merged commit aa6b434 into release/0.3.1 Mar 23, 2026
16 checks passed
@c-vigo c-vigo deleted the bugfix/403-smoke-test-changelog-scaffold branch March 23, 2026 11:59
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