From f392a171a52a4cfc41566db0e09f917515193715 Mon Sep 17 00:00:00 2001 From: Etienne Lescot Date: Fri, 4 Sep 2026 16:50:57 +0200 Subject: [PATCH] ci(build): do not run the release matrix for internal `v0.0.0-*` tags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `v0.0.0-*` is this repository's existing marker for a tag that is not a product version — a place to hang a binary needing a permanent public URL, the way `v0.0.0-stt-models` hosts the 360 MB Whisper model. `build.yml` triggers on `v*` with no further filter, so creating one runs the entire matrix — Windows, macOS x2, Linux, installers, notarisation — to publish an archive it was never asked to build. That has already happened once: there is a `build.yml` run against a `v0.0.0` tag in the history. The reason this matters now is #591: adopting a locally built ONNX Runtime means publishing it under such a tag, and doing that should not cost a full release build every time the pinned version moves. The other five release-triggered workflows do NOT need the same guard, which was checked rather than assumed: `aur-publish`, `bump-nix-package`, `publish-winget` and `update-homebrew-cask` all gate on `!github.event.release.prerelease`, and an internal release is marked as a prerelease — so none of them can push a bogus version to a package manager. `announce-release` has no such gate and would post to Discord; that is noise rather than a wrong publication, and whether an internal release deserves an announcement is a call for whoever owns the channel, so it is left alone here. --- .github/workflows/build.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b7e7a5763..9b3beb623 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,6 +4,19 @@ on: push: tags: - "v*" + # `v0.0.0-*` is this repository's marker for a tag that is NOT a product + # version — a place to hang a binary that needs a permanent public URL, the + # way `v0.0.0-stt-models` hosts the 360 MB Whisper model. Without this + # exclusion, creating one runs the whole matrix — Windows, macOS x2, Linux, + # installers, notarisation — to publish an archive nobody asked it to build. + # That has already happened once. + # + # The other five release-triggered workflows do not need the same guard: + # AUR, Nix, winget and Homebrew all gate on + # `!github.event.release.prerelease`, and an internal release is marked as a + # prerelease. Only the Discord announcement still fires, which is noise + # rather than a wrong publication. + - "!v0.0.0-*" workflow_dispatch: inputs: arch: