Skip to content

Commit f853b6d

Browse files
Merge pull request #85 from torlando-tech/fix/ci-xcode26-python-module-map
ci: build on macos-26 (Xcode 26) so the Python module map resolves
2 parents 196c9ab + a54c602 commit f853b6d

1 file changed

Lines changed: 26 additions & 2 deletions

File tree

.github/workflows/tests.yml

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ concurrency:
1212

1313
jobs:
1414
test:
15-
runs-on: macos-15
15+
# macos-26 carries Xcode 26.x, which the embedded-Python (Columba) scheme
16+
# needs — the Python.framework clang module map fails to resolve under
17+
# Xcode 16.x ("module 'Python' … not defined in any loaded module map"),
18+
# which is what devs build with locally (26.x). See the Select Xcode step.
19+
runs-on: macos-26
1620
steps:
1721
- uses: actions/checkout@v4
1822

@@ -32,11 +36,31 @@ jobs:
3236
3337
- name: Select Xcode
3438
run: |
35-
XCODE=$(ls -d /Applications/Xcode_16*.app 2>/dev/null | sort -V | tail -1)
39+
echo "Available Xcodes:"; ls -d /Applications/Xcode_*.app 2>/dev/null || true
40+
# Pick the newest Xcode on the runner (was pinned to 16.x, which can't
41+
# build the Python scheme — see runs-on comment). Version-sort so 26.x
42+
# wins over 16.x regardless of exact point release.
43+
XCODE=$(ls -d /Applications/Xcode_*.app 2>/dev/null | sort -V | tail -1)
3644
echo "Using $XCODE"
3745
sudo xcode-select -s "$XCODE"
3846
xcodebuild -version
3947
48+
# Resolve the local Swift packages (reticulum-swift / LXMF-swift / LXST-swift)
49+
# once, up front. Without this the `xcodebuild test` action can intermittently
50+
# fail to resolve LXMFSwift/ReticulumSwift for the ColumbaAppTests target even
51+
# though the app build steps resolved them fine — a fresh-runner resolution
52+
# race. One explicit resolve makes every later build/test step reuse it.
53+
- name: Resolve Swift packages
54+
run: |
55+
# Pre-warm both schemes' package deps (same sibling packages, same
56+
# .xcodeproj, but be explicit so the Swift-native build benefits too).
57+
xcodebuild -resolvePackageDependencies \
58+
-project Columba.xcodeproj \
59+
-scheme Columba
60+
xcodebuild -resolvePackageDependencies \
61+
-project Columba.xcodeproj \
62+
-scheme Columba-Swift
63+
4064
- name: Find simulator
4165
id: sim
4266
run: |

0 commit comments

Comments
 (0)