diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 3546f8a..93488c5 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -11,6 +11,11 @@ on: description: 'Release notes (markdown) - generated by Claude' required: true type: string + draft_only: + description: 'Create draft release only (do not publish)' + required: false + type: boolean + default: false concurrency: group: release-${{ github.event.inputs.version || github.ref || github.run_id }} @@ -442,6 +447,7 @@ jobs: gh release upload "${TAG}" release/pulse-auto-update.sh - name: Publish release + if: ${{ github.event.inputs.draft_only != 'true' }} env: GH_TOKEN: ${{ github.token }} run: | @@ -466,7 +472,14 @@ jobs: echo "✓ Release published as latest: ${TAG}" fi + - name: Skip publish (draft only) + if: ${{ github.event.inputs.draft_only == 'true' }} + run: | + echo "Draft-only mode: Release remains as draft for review" + echo "View draft at: ${{ steps.create_release.outputs.release_url }}" + - name: Trigger Docker image publish + if: ${{ github.event.inputs.draft_only != 'true' }} continue-on-error: true # Non-fatal if dispatch fails env: GH_TOKEN: ${{ secrets.WORKFLOW_PAT }} @@ -481,6 +494,7 @@ jobs: echo "✓ Docker publish workflow dispatched" - name: Trigger demo server update + if: ${{ github.event.inputs.draft_only != 'true' }} continue-on-error: true # Non-fatal if dispatch fails env: GH_TOKEN: ${{ secrets.WORKFLOW_PAT }}