From 6b0758c10421f208ee7abfe3cd3571ea84dcc49d Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Fri, 29 May 2026 15:19:11 +1200 Subject: [PATCH] =?UTF-8?q?ci:=20stopgap=20=E2=80=94=20switch=20release=20?= =?UTF-8?q?workflow=20to=20workflow=5Fdispatch=20only=20(#267)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auto-publish on every push to main has been firing a Fallout.* release on every merge — about 20 patch versions in recent days for what was mostly internal cleanup (license-header strip, doc updates, etc). That generates a Dependabot upgrade PR in every downstream consumer repo, every morning. The proper restructure (tag-triggered publishes on release/vN branches with three GitHub Environments — nuget-org / github-packages / github-releases) is tracked under milestone #13 / RFC #267. Until that lands, this stopgap disables the auto-trigger and switches the release workflow to manual workflow_dispatch only. What changes for maintainers: - Releases no longer happen automatically on merge to main. - To cut a release: Actions → "release" → "Run workflow" → pick the ref. - Cherry-pick + tag flow on release/vN branches arrives with the full restructure under #13. What changes for consumers: dependabot stops screaming. Refs #267, milestone #13. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/release.yml | 23 ++++++++++++++++------- CHANGELOG.md | 2 ++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 71582f13b..78c49f939 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,17 +1,26 @@ # Hand-written (not auto-generated) — see Build.CI.GitHubActions.cs for the # rationale (lets us bridge GitHub's NUGET_API_KEY secret to Fallout's # NuGetApiKey parameter, which would otherwise have to share a name). +# +# STOPGAP (2026-05-29, #267 / milestone #13): +# Trigger is workflow_dispatch only — auto-publish on push to main has been +# disabled because it was firing a Fallout.* release on every merge +# (Dependabot noise across the userbase: ~20 patch versions in recent days +# for what was mostly internal cleanup). The proper shape — tag-triggered +# publishes on `release/vN` branches with multi-channel GitHub Environments — +# is being implemented under milestone #13 (RFC #267). Until that lands, +# releases happen manually: navigate to Actions → release → "Run workflow" +# on the desired ref (main for now; `release/v11` once cut). name: release on: - push: - branches: - - main - paths-ignore: - - 'docs/**' - - '.assets/**' - - '**/*.md' + workflow_dispatch: + inputs: + ref: + description: 'Ref to release from (defaults to current branch; will be release/v11 once cut per #267)' + required: false + default: 'main' permissions: contents: write # for ICreateGitHubRelease (tag + GitHub release) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e6ef04a7..e9f009ee9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -82,6 +82,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - **Added "Default to backwards compatibility" rule to the AGENTS.md AI brief** (#262). Critical rules now state the principle explicitly — prefer additive over breaking changes; `[Obsolete]`, transition shims, and overload-based extension before a hard break. The existing breaking-change PR-creation flow (label + `⚠️` callout + `version.json` bump + CHANGELOG entry with migration path) remains the mechanics for when a break is unavoidable. Issue [#262](https://github.com/ChrisonSimtian/Fallout/issues/262) stays open for the broader policy discussion (LTS stance for the `Nuke.*` shims, what qualifies as "backwards compatible" for on-disk formats and CI workflow generators, when transition-shim generators are the right answer, etc.). +- **Disabled auto-release on every push to `main`** (stopgap for milestone [#13](https://github.com/ChrisonSimtian/Fallout/milestone/13) / RFC [#267](https://github.com/ChrisonSimtian/Fallout/issues/267)). The `release` workflow now triggers on `workflow_dispatch` only — releases are explicit, run manually from Actions UI. Auto-publishing was firing a Fallout.* release on every merge (≈20 patch versions accumulated in recent days for what was mostly internal cleanup), generating Dependabot upgrade PRs across every downstream consumer. The proper restructure — tag-triggered publishes on `release/vN` branches with three GitHub Environments (`nuget-org` / `github-packages` / `github-releases`) — is being implemented under milestone #13. This stopgap stops the consumer-facing noise immediately while that lands. + ## [10.2.0] / 2026-05-21 The NUKE → Fallout hard fork. Originally NUKE by [@matkoch](https://github.com/matkoch) and contributors; under new maintenance and rebranded to Fallout.