From fdaedeb7e6214cca6d9e0d27fc748d032ee97e75 Mon Sep 17 00:00:00 2001 From: ryanbr Date: Sat, 1 Aug 2026 17:41:58 -0700 Subject: [PATCH] app-build: drop the push:main leg, keep the PR gate The workflow was disabled manually on 21 July. In the eleven days since, 49 commits touched app-target Swift with no compile check at all - swiftc -parse is syntax only, so an orphaned doc comment, a strict-concurrency question and 190 lines of new SwiftUI all reached main unverified. It also runs StrandTests, which executes in no other workflow. A dispatch probe from a ci/ branch at 8560f9a1 passed both legs in ~5 minutes, so nothing had actually broken in the meantime - it can come back on as-is. Dropping the push:main leg roughly halves what it costs to keep on. Every change reaches main through a PR, which the pull_request trigger already gates, so the push run rebuilt content that had just been built - on a two-runner macOS matrix that GitHub bills at 10x Linux. A release pushes straight to main with no PR, but fork-release.yml builds both Strand and NOOPiOS itself, so that path keeps its own gate. The gap left is a direct non-release push to main, which workflow_dispatch covers on demand. --- .github/workflows/app-build.yml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/workflows/app-build.yml b/.github/workflows/app-build.yml index f3a4838a58..3966eefb92 100644 --- a/.github/workflows/app-build.yml +++ b/.github/workflows/app-build.yml @@ -19,16 +19,12 @@ on: - 'Packages/**' - 'project.yml' - '.github/workflows/app-build.yml' - push: - branches: [main] - paths: - - 'Strand/**' - - 'StrandiOS/**' - - 'StrandiOSShared/**' - - 'StrandiOSWidgets/**' - - 'Packages/**' - - 'project.yml' - - '.github/workflows/app-build.yml' + # No `push: main` leg. Every change reaches main through a PR, which the trigger above already + # gates, so a push run rebuilt content that had just been built - on macOS runners, which GitHub + # bills at 10x Linux for a two-runner matrix (macos-15 for the universal macOS leg, macos-26 for + # the iOS 26 SDK). A RELEASE pushes straight to main with no PR, but fork-release.yml builds both + # Strand and NOOPiOS itself, so that path keeps its own compile gate. The gap this leaves is a + # direct non-release push to main; `workflow_dispatch` below covers checking one on demand. workflow_dispatch: concurrency: