Skip to content

Commit 2a2656c

Browse files
committed
ci(build): do not run the release matrix for internal v0.0.0-* tags
`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.
1 parent a26f3d3 commit 2a2656c

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

‎.github/workflows/build.yml‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,19 @@ on:
44
push:
55
tags:
66
- "v*"
7+
# `v0.0.0-*` is this repository's marker for a tag that is NOT a product
8+
# version — a place to hang a binary that needs a permanent public URL, the
9+
# way `v0.0.0-stt-models` hosts the 360 MB Whisper model. Without this
10+
# exclusion, creating one runs the whole matrix — Windows, macOS x2, Linux,
11+
# installers, notarisation — to publish an archive nobody asked it to build.
12+
# That has already happened once.
13+
#
14+
# The other five release-triggered workflows do not need the same guard:
15+
# AUR, Nix, winget and Homebrew all gate on
16+
# `!github.event.release.prerelease`, and an internal release is marked as a
17+
# prerelease. Only the Discord announcement still fires, which is noise
18+
# rather than a wrong publication.
19+
- "!v0.0.0-*"
720
workflow_dispatch:
821
inputs:
922
arch:

0 commit comments

Comments
 (0)