From 79b47cef247768ebae396d80af6a5225f9fdb886 Mon Sep 17 00:00:00 2001 From: Chrison Simtian Date: Fri, 29 May 2026 19:45:12 +1200 Subject: [PATCH] ci: extend post-merge push triggers to release/v* (closes #293) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #293. Parity follow-up to #291 (which extended PR-validation triggers to release/v*). After this: - windows-latest.yml — pull_request trigger unchanged (still PR-only on main, by design); push trigger extends to main AND release/v*. - macos-latest.yml — same. - build/Build.CI.GitHubActions.cs — OnPushBranches on both windows and macos [GitHubActions] entries gain ReleaseBranchPattern alongside MainBranch, so next auto-regen produces matching YAML. Effect: a hotfix merged to release/v11 now triggers Windows + macOS post-merge validation, same as merges to main. Cross-platform regressions in release-branch hotfixes surface immediately as red commits on the release branch, not later when someone tries to cut a release. Out of scope: extending pull_request triggers on windows/macos to fire on release/v* PRs. The current PR gate (ubuntu-latest only) is a deliberate cost trade-off documented in docs/agents/release-and-versioning.md. Refs milestone #13. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/macos-latest.yml | 1 + .github/workflows/windows-latest.yml | 1 + build/Build.CI.GitHubActions.cs | 12 +++++++----- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/macos-latest.yml b/.github/workflows/macos-latest.yml index a46ff0d26..bacbaccc2 100644 --- a/.github/workflows/macos-latest.yml +++ b/.github/workflows/macos-latest.yml @@ -20,6 +20,7 @@ on: push: branches: - main + - 'release/v*' jobs: macos-latest: diff --git a/.github/workflows/windows-latest.yml b/.github/workflows/windows-latest.yml index 71400c71a..f959369e9 100644 --- a/.github/workflows/windows-latest.yml +++ b/.github/workflows/windows-latest.yml @@ -20,6 +20,7 @@ on: push: branches: - main + - 'release/v*' jobs: windows-latest: diff --git a/build/Build.CI.GitHubActions.cs b/build/Build.CI.GitHubActions.cs index ddb849f52..83f7fa61a 100644 --- a/build/Build.CI.GitHubActions.cs +++ b/build/Build.CI.GitHubActions.cs @@ -1,15 +1,17 @@ using Fallout.Common.CI.GitHubActions; using Fallout.Components; -// macOS and Windows runs are reserved for main-branch validation (post-merge -// and release pipelines). PRs and feature-branch pushes get Linux-only for -// fast, cheap feedback. +// macOS and Windows runs are reserved for post-merge validation on the +// long-lived branches (main and release/vN). PRs and feature-branch pushes +// get Linux-only for fast, cheap feedback. Cross-platform regressions on a +// release branch surface as a red commit on release/v* — same fail-fast +// model as main. [GitHubActions( "macos-latest", GitHubActionsImage.MacOsLatest, FetchDepth = 0, Submodules = GitHubActionsSubmodules.Recursive, - OnPushBranches = new[] { MainBranch }, + OnPushBranches = new[] { MainBranch, ReleaseBranchPattern }, InvokedTargets = new[] { nameof(ITest.Test), nameof(IPack.Pack) }, PublishArtifacts = false)] [GitHubActions( @@ -17,7 +19,7 @@ GitHubActionsImage.WindowsLatest, FetchDepth = 0, Submodules = GitHubActionsSubmodules.Recursive, - OnPushBranches = new[] { MainBranch }, + OnPushBranches = new[] { MainBranch, ReleaseBranchPattern }, InvokedTargets = new[] { nameof(ITest.Test), nameof(IPack.Pack) }, PublishArtifacts = false)] // pull_request only — same-repo branches would otherwise fire both push and