Skip to content

fix: Enhance build verification in CI and release workflows - #15

Merged
cameronrye merged 1 commit into
mainfrom
fix/enhance-build-verification
Nov 13, 2025
Merged

fix: Enhance build verification in CI and release workflows#15
cameronrye merged 1 commit into
mainfrom
fix/enhance-build-verification

Conversation

@cameronrye

@cameronrye cameronrye commented Nov 13, 2025

Copy link
Copy Markdown
Owner

Problem

The dry run verification in the release workflow was passing with false positives because it only checked if the packages/example/dist directory existed, without verifying that the build actually produced the expected output files.

Solution

Enhanced both the Release and CI workflows to perform comprehensive verification:

Release Workflow

  • Verify packages/example/dist directory exists
  • Verify index.html file exists
  • Verify assets directory exists
  • Verify at least one CSS file exists in assets

CI Workflow

  • Verify library artifacts (frostpane.css, frostpane-core.css)
  • Verify example site directory structure
  • Verify index.html file
  • Verify assets directory with CSS files

Benefits

  1. Catches real build failures - Won't pass if the build silently fails
  2. Better error messages - Clear indication of what's missing
  3. More reliable dry runs - Ensures the build process actually works before attempting to publish
  4. Consistent verification - Both CI and Release workflows use similar checks

Testing

  • Tested locally with successful build
  • Tested locally with missing files (proper error detection)
  • Verified error messages are clear and helpful

- Add comprehensive checks for example site build artifacts
- Verify index.html, assets directory, and CSS files exist
- Add detailed error messages for missing artifacts
- Prevent false positives in dry run mode
- Improve library artifact verification in CI workflow

This fixes the issue where dry run would pass even if the build
didn't produce the expected output files.
@cameronrye
cameronrye merged commit 2325927 into main Nov 13, 2025
2 checks passed
@cameronrye

Copy link
Copy Markdown
Owner Author

Update: Fixed Rollback Logic Issue

Problem Found

The actual release (run #3) failed because the rollback steps were incorrectly evaluating their conditions. When the publish step succeeded, the "Rollback on publish failure" step was still being evaluated and failing because it tried to rollback a successful operation.

Root Cause

The rollback steps had conditions like:

if: steps.publish.outcome == 'failure'

But they were missing the !inputs.dry_run check. This caused issues when:

  1. In dry run mode, the publish step is skipped (not failed)
  2. The rollback condition evaluated the skipped step's outcome incorrectly

Solution

Updated both rollback step conditions to:

if: ${{ !inputs.dry_run && steps.push.outcome == 'failure' }}
if: ${{ !inputs.dry_run && steps.publish.outcome == 'failure' }}

This ensures rollback steps only run when:

  1. ✅ Not in dry run mode
  2. ✅ The corresponding step actually failed

Status

  • ✅ Fix committed and pushed
  • ✅ Previous failed release was already rolled back (commit 9f86671)
  • ✅ Ready for testing with another release attempt

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.

1 participant