Skip to content

fix: create draft releases and defer cleanup until manual promotion#83

Merged
boscorat merged 1 commit into
masterfrom
81-release-workflow-should-create-draft-releases
Jul 6, 2026
Merged

fix: create draft releases and defer cleanup until manual promotion#83
boscorat merged 1 commit into
masterfrom
81-release-workflow-should-create-draft-releases

Conversation

@boscorat

@boscorat boscorat commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Summary

This PR implements draft releases for the openstan release workflow, addressing issue #81. Releases are now created as drafts and must be manually promoted after verification and platform-specific checks.

Changes

.github/workflows/release.yml

  • Added draft: true to all 4 softprops/action-gh-release upload steps:
    • Linux (.deb/.rpm)
    • Linux ARM64 (.deb/.rpm)
    • Windows (.msi)
    • macOS (.dmg)
  • Modified cleanup job to skip draft releases until manually promoted
    • Checks isDraft flag before stripping old release assets
    • Draft releases remain intact until promoted by maintainer

RELEASE.md (new file)

  • Comprehensive release workflow documentation
  • Quick start guide (push tag, wait for builds)
  • Release promotion checklist:
    • Pre-publication verification (all binaries, release notes, notarisation)
    • Windows MSI submission to Microsoft WDSI portal
  • Manual promotion instructions (gh CLI and GitHub UI)
  • Post-publication workflow and troubleshooting guide

Behavior Changes

Before:

  • Tag pushed → Release published immediately
  • Users see new release instantly
  • Multiple releases needed to fix CI issues
  • No opportunity to submit MSI to WDSI portal

After:

  • Tag pushed → Release created as draft
  • Only visible to maintainers
  • Allows time for verification and platform-specific checks
  • Manual promotion: gh release edit <tag> --draft=false
  • Cleanup job skips drafts, only processes published releases

Testing

✓ All pre-PR checks pass:

  • Ruff lint check
  • Ruff format check
  • Pyrefly type check
  • 129 unit tests
  • YAML syntax validation

Related

Closes #81
References #76 (original release pipeline review)

- Add 'draft: true' to all 4 softprops/action-gh-release upload steps (Linux, Linux ARM64, Windows, macOS)
- Draft releases prevent premature publication while allowing time for verification
- Modified cleanup job to skip draft releases until manually promoted from draft → published
- Cleanup job now checks isDraft flag before stripping old release assets
- Draft releases won't be cleaned up until promoted by maintainer

This addresses issue #81: Release workflow should create draft releases.
Releases must be manually promoted after verification and platform-specific checks
(e.g., Windows MSI submission to Microsoft WDSI portal, macOS notarisation).
@boscorat boscorat linked an issue Jul 6, 2026 that may be closed by this pull request
@boscorat boscorat merged commit c41e9eb into master Jul 6, 2026
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.

release workflow should create draft releases

1 participant