Skip to content

ci(release): make UpdateReleaseNotes manifest write non-fatal#32

Merged
tablackburn merged 2 commits into
mainfrom
ci/non-fatal-releasenotes-write
May 21, 2026
Merged

ci(release): make UpdateReleaseNotes manifest write non-fatal#32
tablackburn merged 2 commits into
mainfrom
ci/non-fatal-releasenotes-write

Conversation

@tablackburn
Copy link
Copy Markdown
Owner

@tablackburn tablackburn commented May 21, 2026

Summary

Backports a robustness guard surfaced during the consumer rollout (PlexAutomationToolkit#56 review). The UpdateReleaseNotes task is documented as non-fatal (it warns and returns on a missing/empty/unparseable changelog), but the final Update-ModuleManifest -ErrorAction Stop was unguarded — so a failure there (e.g. a missing built manifest, or any Update-ModuleManifest error) would hard-fail Publish, contradicting the design.

Now: Test-Path the built manifest, and wrap Update-ModuleManifest in try/catch that warns and leaves the existing ReleaseNotes in place. The task is genuinely non-fatal at every step, so a release is never blocked.

Brings the template level with the consumer PRs (JsmOperations / ReScenePS / SrrDBAutomationToolkit), which already include this guard.

build.psake.ps1 parses OK.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Improved build process resilience by adding error handling to module manifest updates. The build now gracefully handles missing or problematic manifests, ensuring publishing workflows remain unblocked even if manifest updates encounter issues.

Review Change Stack

Backports the guard added during the PlexAutomationToolkit rollout review: the
task is documented as non-fatal, but the final Update-ModuleManifest
-ErrorAction Stop was unguarded, so a failure (e.g. missing built manifest)
would hard-fail Publish. Add a Test-Path check for the built manifest and wrap
the update in try/catch that warns and leaves the existing ReleaseNotes in
place, keeping the release unblocked as intended.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 21, 2026 00:42
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 21, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: cd4fe38a-dce6-47bc-80ad-0c50bcd6380d

📥 Commits

Reviewing files that changed from the base of the PR and between 641a1e6 and 2261f72.

📒 Files selected for processing (1)
  • build.psake.ps1

📝 Walkthrough

Walkthrough

The PR adds defensive error handling to the UpdateReleaseNotes psake task. The task now checks whether the built module manifest exists before attempting to update it, and wraps the manifest update call in try/catch error handling that logs warnings instead of failing the task.

Changes

UpdateReleaseNotes task robustness

Layer / File(s) Summary
Manifest existence and update error handling
build.psake.ps1
UpdateReleaseNotes task now guards against missing built manifest path and wraps Update-ModuleManifest call in try/catch, emitting warnings on failure instead of blocking the publish workflow.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

🐰 A little guard, a catch-all net,
Prevents the manifest upset,
No warning left unheard,
Release notes safely deferred!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: making the UpdateReleaseNotes manifest write operation non-fatal, which is the core robustness improvement in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/non-fatal-releasenotes-write

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

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

Makes the UpdateReleaseNotes psake task fully non-fatal by ensuring failures to update the built module manifest do not block the publish/release pipeline, aligning behavior with the task’s existing “warn and continue” design.

Changes:

  • Add a Test-Path guard to verify the built manifest exists before attempting to update it.
  • Wrap Update-ModuleManifest -ErrorAction Stop in try/catch and warn on failure instead of aborting the release.

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

Comment thread build.psake.ps1 Outdated
…warning

Addresses the #32 review nit: the catch warning now names the built manifest (like
the missing-path warning) so logs identify which file failed to update.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tablackburn tablackburn merged commit e3d324f into main May 21, 2026
11 checks passed
@tablackburn tablackburn deleted the ci/non-fatal-releasenotes-write branch May 21, 2026 03:18
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