Skip to content

Commit e1deefb

Browse files
committed
wip
1 parent ea53d29 commit e1deefb

File tree

2 files changed

+35
-10
lines changed

2 files changed

+35
-10
lines changed

.github/workflows/ci.yml

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,51 @@ concurrency:
1414
cancel-in-progress: true
1515

1616
jobs:
17+
xcodebuild-latest:
18+
name: xcodebuild (16)
19+
runs-on: macos-15
20+
strategy:
21+
matrix:
22+
command: ['']
23+
platform: [IOS, MACOS]
24+
xcode: ['16.0']
25+
steps:
26+
- uses: actions/checkout@v4
27+
- name: Select Xcode ${{ matrix.xcode }}
28+
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app
29+
- name: List available devices
30+
run: xcrun simctl list devices available
31+
- name: Cache derived data
32+
uses: actions/cache@v3
33+
with:
34+
path: |
35+
~/.derivedData
36+
key: |
37+
deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix.command }}-${{ hashFiles('**/Sources/**/*.swift', '**/Tests/**/*.swift') }}
38+
restore-keys: |
39+
deriveddata-xcodebuild-${{ matrix.platform }}-${{ matrix.xcode }}-${{ matrix.command }}-
40+
- name: Set IgnoreFileSystemDeviceInodeChanges flag
41+
run: defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES
42+
- name: Update mtime for incremental builds
43+
uses: chetan/git-restore-mtime-action@v2
44+
- name: Debug
45+
run: make XCODEBUILD_ARGUMENT="${{ matrix.command }}" CONFIG=Debug PLATFORM="${{ matrix.platform }}" WORKSPACE=.github/package.xcworkspace xcodebuild
46+
1747
xcodebuild:
18-
name: xcodebuild
48+
name: xcodebuild (15)
1949
runs-on: macos-14
2050
strategy:
2151
matrix:
2252
command: [test, '']
2353
platform: [IOS, MAC_CATALYST, MACOS, TVOS, VISIONOS, WATCHOS]
24-
xcode: [15.2, 15.4, '16.0']
54+
xcode: [15.2, 15.4]
2555
exclude:
2656
- {xcode: 15.2, command: test}
2757
- {xcode: 15.4, command: ''}
2858
- {xcode: 15.2, platform: MAC_CATALYST}
2959
- {xcode: 15.2, platform: TVOS}
3060
- {xcode: 15.2, platform: VISIONOS}
3161
- {xcode: 15.2, platform: WATCHOS}
32-
- {xcode: '16.0', command: ''}
33-
- {xcode: '16.0', platform: MAC_CATALYST}
34-
- {xcode: '16.0', platform: TVOS}
35-
- {xcode: '16.0', platform: VISIONOS}
36-
- {xcode: '16.0', platform: WATCHOS}
3762
include:
3863
- {xcode: 15.2, skip_release: 1}
3964
steps:
@@ -80,7 +105,7 @@ jobs:
80105

81106
examples:
82107
name: Examples
83-
runs-on: macos-14
108+
runs-on: macos-15
84109
steps:
85110
- uses: actions/checkout@v4
86111
- name: Cache derived data

Sources/ComposableArchitecture/SharedState/PersistenceKey/AppStorageKey.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ extension AppStorageKey: PersistenceKey {
295295
let userDefaultsDidChange = NotificationCenter.default.addObserver(
296296
forName: UserDefaults.didChangeNotification,
297297
object: store.wrappedValue,
298-
queue: nil
298+
queue: .main
299299
) { _ in
300300
let newValue = load(initialValue: initialValue)
301301
defer { previousValue.withValue { $0 = newValue } }
@@ -331,7 +331,7 @@ extension AppStorageKey: PersistenceKey {
331331
willEnterForeground = NotificationCenter.default.addObserver(
332332
forName: willEnterForegroundNotificationName,
333333
object: nil,
334-
queue: .main
334+
queue: nil
335335
) { _ in
336336
didSet(load(initialValue: initialValue))
337337
}

0 commit comments

Comments
 (0)