ci: run iOS SDK CI on pull requests to any base branch#589
Conversation
The pull_request trigger filtered on `branches: ['*']`. In GitHub Actions
branch globs, `*` matches `master` but NOT base branches containing `/`
(e.g. `feat/...`, `{initials}/...`). As a result the build + test jobs
(library-macos-14 on Xcode 15.2/15.4, library-macos-15 on Xcode 16.4) were
skipped entirely for every stacked PR onto a feature/personal branch — those
PRs only ran pre-commit and the bot scanners.
Drop the branches filter so the workflow runs on every PR regardless of base,
mirroring pre-commit.yml. push remains scoped to master.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughThe GitHub Actions Swift workflow push trigger is narrowed to run only on the ChangesCI Workflow Trigger Narrowing
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Description
The
iOS SDK CIworkflow (swift.yml) only ran its build + test jobs for PRs whose base branch matched the globbranches: ['*']. In GitHub Actions branch filters,*matchesmasterbut does not match any branch containing/(**is required for that). So every PR stacked onto a feature or personal base —feat/*,{initials}/*— silently skipped the entire build/test matrix:library-macos-14(Xcode 15.2, 15.4)library-macos-15(Xcode 16.4)Those stacked PRs only ran
pre-commitand the bot scanners, giving an all-green status with no compile or test coverage.How this surfaced
Reviewing #587 (base
feat/auto-push-tracking), the test target would fail to compile on Xcode 15.x, yet PR checks were green — becauseswift.ymlnever ran.gh run list --workflow swift.ymlfor that branch returns zero runs, and the status rollup contains onlypre-commit+ scanners.Change
Drop the
branchesfilter underpull_request:so the workflow runs on every PR regardless of base branch — mirroringpre-commit.yml, which already does this and consequently runs everywhere.pushremains scoped tomaster. Removing the glob also eliminates the*-vs-**foot-gun entirely.Test Plan
master), confirmlibrary-macos-14/library-macos-15run as before — no regression on master-targeting PRs.feat/*base) and confirm the build/test jobs now trigger.Notes
codeql.ymlhas a related but intentional scoping (branches: ['master', 'rel/*']) and is left unchanged — expanding a heavy security scan to all PRs is a separate, cost-conscious decision.🤖 Generated with Claude Code
Summary by CodeRabbit