From b00495ccf1b60356abd918110bde9f23c80eba83 Mon Sep 17 00:00:00 2001
From: DTTerastar
Date: Sun, 19 Apr 2026 21:03:50 -0400
Subject: [PATCH] ci: move release trigger to 'release: published'
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Goreleaser on tag-push was incoherent: the 'release.draft: true' flag
only affected the GitHub release object, while the Homebrew tap push
fired immediately — so drafts shipped broken casks pointing at assets
only admins could download.
New flow:
- draft created by 'gh release create --draft' (or the UI)
- user reviews and publishes when ready
- 'release: published' event fires this workflow
- goreleaser uploads assets and pushes cask atomically
Also add 'skip_upload: auto' so casks are skipped for prerelease tags.
Co-Authored-By: Claude Opus 4.7 (1M context)
---
.github/workflows/release.yml | 5 ++---
.goreleaser.yml | 3 +--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index fb4ed39..ccabfd4 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,9 +1,8 @@
name: Release
on:
- push:
- tags:
- - 'v*'
+ release:
+ types: [published]
permissions:
contents: write
diff --git a/.goreleaser.yml b/.goreleaser.yml
index a06bc4b..d2858be 100644
--- a/.goreleaser.yml
+++ b/.goreleaser.yml
@@ -27,6 +27,7 @@ checksum:
homebrew_casks:
- name: crono-export
+ skip_upload: auto
repository:
owner: quantcli
name: homebrew-tap
@@ -45,6 +46,4 @@ homebrew_casks:
end
release:
- draft: true
- replace_existing_draft: true
replace_existing_artifacts: true