Update test dependencies for Xcode 15+ compatibility#295
Closed
augiekim wants to merge 1 commit into
Closed
Conversation
Quick 1.x and Nimble 6.x require Swift 3.0, which was dropped in Xcode 15. Update to Quick 5.0.1 + Nimble 9.2.1 — the last versions that maintain full backward compatibility with the Objective-C QuickSpec DSL used throughout the test suite (QuickSpecBegin/End, it, describe, beforeEach, etc.). - Cartfile.private: bump Quick ~> 5.0, Nimble ~> 9.0 - Cartfile.resolved: pin Quick v5.0.1, Nimble v9.2.1 - Squirrel.xcodeproj: set SWIFT_VERSION = 5.0 (was 3.0) so SwiftSpec.swift and the test target build cleanly under the modern Swift compiler Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
MarshallOfSound
added a commit
that referenced
this pull request
May 2, 2026
) The test suite hasn't built in years (Swift 3, Quick 1.x, Xcode 9-era deps). This gets it green on modern Xcode without touching anything in `Squirrel/`. #### Dependency / toolchain bumps - Quick `1.1.0` → `5.0.1`, Nimble `6.1.0` → `9.2.1` — last versions that keep the ObjC `QuickSpecBegin/End` DSL working (ref: #295) - `SWIFT_VERSION` `3.0` → `5.0` - `MACOSX_DEPLOYMENT_TARGET` → `10.13` (libarclite no longer ships for 10.8/10.9) - `GCC_TREAT_WARNINGS_AS_ERRORS = NO` at the project level — vendored ReactiveCocoa 2.x trips `-Wimplicit-const-int-float-conversion` on modern clang #### Test fixtures - TestApplication now ad-hoc signs instead of requiring the GitHub `C4RRYD56A6` team cert - New `script/sign-test-fixtures` build phase regenerates `TestApplication 2.1.app` + `TestApplication.app.zip` from the freshly-built TestApplication and signs both with an explicit designated requirement so `SQRLCodeSignature` cross-validates on any host #### Spec updates - `QuickSpec+SQRLFixtures`: `Configuration` → `QCKConfiguration`, `qck_beforeSuite`, `before/afterEachWithMetadata:` (Quick 5 ObjC API) - `SQRLDirectoryManagerSpec`: derive expected identifier from the host bundle (xctest has its own bundle id now) - `SQRLUpdaterSpec`: write update zips to a per-test temp dir (NSItemReplacementDirectory is sandboxed away from the launched TestApplication on modern macOS), fix env-var typing for NSWorkspace, swizzle `isRunningOnReadOnlyVolume` under the xctest CLI host, `xit` the prune-after-update test (behavior intentionally removed in 7dffc4b / #174) - Disabled the manual `SQUIRREL_TEST_LOCAL_SERVER` / `_CDN` scheme env vars by default — they swizzle `updateFromJSONData:` and never restore it #### CI - New `.github/workflows/ci.yml`: checkout w/ recursive submodules → build → `script/test`, piped through xcbeautify - Dropped `.travis.yml`, `script/certs.p12`, and the keychain import from `script/cibuild` #### Result 56 tests, 0 failures. > [!NOTE] > The xcodebuild path here still links against ReactiveCocoa 2.5 / Mantle 1.5, **not** the ReactiveObjC / Mantle 2.2 that Electron actually builds via GN + patches. Aligning those is a separate (larger) job.
Collaborator
|
I think superseded by #296 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Quick 1.x and Nimble 6.x require Swift 3.0, which was dropped in Xcode 15. Update to Quick 5.0.1 + Nimble 9.2.1 — the last versions that maintain full backward compatibility with the Objective-C QuickSpec DSL used throughout the test suite (QuickSpecBegin/End, it, describe, beforeEach, etc.).