@@ -37,10 +37,14 @@ jobs:
3737 - name : Pod Lib Lint
3838 run : |
3939 echo "Linting: ${{ matrix.kit.podspec }}"
40+ INCLUDES="{mParticle-Apple-SDK-Swift.podspec,mParticle-Apple-SDK-ObjC.podspec,mParticle-Apple-SDK.podspec}"
41+ if [ -n "${{ matrix.kit.pod_lint_include_podspecs }}" ]; then
42+ INCLUDES="${INCLUDES},${{ matrix.kit.pod_lint_include_podspecs }}"
43+ fi
4044 for attempt in 1 2 3; do
4145 pod lib lint "${{ matrix.kit.podspec }}" \
4246 --allow-warnings \
43- --include-podspecs="{mParticle-Apple-SDK-Swift.podspec,mParticle-Apple-SDK-ObjC.podspec,mParticle-Apple-SDK.podspec} " \
47+ --include-podspecs="$INCLUDES " \
4448 && break
4549 [ $attempt -lt 3 ] && echo "Attempt $attempt failed, retrying in 60s..." && sleep 60 || exit 1
4650 done
@@ -69,35 +73,55 @@ jobs:
6973 - name : Resolve SPM dependencies
7074 run : |
7175 SCHEME=$(echo '${{ toJson(matrix.kit.schemes) }}' | jq -r '.[0].scheme')
72- PROJECT="$(ls -d ${{ matrix.kit.local_path }}/*.xcodeproj | head -1)"
73-
74- xcodebuild -resolvePackageDependencies -project "$PROJECT" \
75- -scheme "$SCHEME" -derivedDataPath DerivedData
76+ LOCAL_PATH="${{ matrix.kit.local_path }}"
77+ if compgen -G "$LOCAL_PATH"/*.xcodeproj > /dev/null; then
78+ PROJECT="$(ls -d "$LOCAL_PATH"/*.xcodeproj | head -1)"
79+ xcodebuild -resolvePackageDependencies -project "$PROJECT" \
80+ -scheme "$SCHEME" -derivedDataPath DerivedData
81+ else
82+ (cd "$LOCAL_PATH" && xcodebuild -resolvePackageDependencies -scheme "$SCHEME" -derivedDataPath "$OLDPWD/DerivedData")
83+ fi
7684
7785 - name : Build kit schemes
7886 run : |
87+ LOCAL_PATH="${{ matrix.kit.local_path }}"
7988 echo '${{ toJson(matrix.kit.schemes) }}' | jq -c '.[]' | while IFS= read -r ENTRY; do
8089 SCHEME=$(echo "$ENTRY" | jq -r '.scheme')
8190 DEST=$(echo "$ENTRY" | jq -r '.destination')
8291
83- if [ -d "${{ matrix.kit.local_path }}/$SCHEME.xcodeproj" ]; then
84- PROJECT="${{ matrix.kit.local_path }}/$SCHEME.xcodeproj"
92+ if [ -d "$LOCAL_PATH/$SCHEME.xcodeproj" ]; then
93+ PROJECT="$LOCAL_PATH/$SCHEME.xcodeproj"
94+ XB=(xcodebuild build -project "$PROJECT" -scheme "$SCHEME")
95+ elif compgen -G "$LOCAL_PATH"/*.xcodeproj > /dev/null; then
96+ PROJECT="$(ls -d "$LOCAL_PATH"/*.xcodeproj | head -1)"
97+ XB=(xcodebuild build -project "$PROJECT" -scheme "$SCHEME")
8598 else
86- PROJECT="$(ls -d ${{ matrix.kit.local_path }}/*.xcodeproj | head -1)"
99+ XB=(xcodebuild build -scheme "$SCHEME")
87100 fi
88101
89- xcodebuild build -project "$PROJECT" -scheme "$SCHEME" \
90- -destination "generic/platform=$DEST" \
91- -derivedDataPath DerivedData \
92- CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
93-
94- xcodebuild build -project "$PROJECT" -scheme "$SCHEME" \
95- -destination "generic/platform=$DEST Simulator" \
96- -derivedDataPath DerivedData \
97- CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
102+ if compgen -G "$LOCAL_PATH"/*.xcodeproj > /dev/null; then
103+ "${XB[@]}" \
104+ -destination "generic/platform=$DEST" \
105+ -derivedDataPath DerivedData \
106+ CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
107+ "${XB[@]}" \
108+ -destination "generic/platform=$DEST Simulator" \
109+ -derivedDataPath DerivedData \
110+ CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
111+ else
112+ (cd "$LOCAL_PATH" && "${XB[@]}" \
113+ -destination "generic/platform=$DEST" \
114+ -derivedDataPath "$OLDPWD/DerivedData" \
115+ CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO)
116+ (cd "$LOCAL_PATH" && "${XB[@]}" \
117+ -destination "generic/platform=$DEST Simulator" \
118+ -derivedDataPath "$OLDPWD/DerivedData" \
119+ CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO)
120+ fi
98121 done
99122
100123 - name : Build SPM-Swift-Example
124+ if : ${{ matrix.kit.skip_example_builds != true }}
101125 run : |
102126 PROJECT="$(ls -d ${{ matrix.kit.local_path }}/Example/SPM-Swift-Example/*.xcodeproj | head -1)"
103127 xcodebuild build -project "$PROJECT" -scheme SPM-Swift-Example \
@@ -106,6 +130,7 @@ jobs:
106130 CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
107131
108132 - name : Build SPM-Objc-Example
133+ if : ${{ matrix.kit.skip_example_builds != true }}
109134 run : |
110135 PROJECT="$(ls -d ${{ matrix.kit.local_path }}/Example/SPM-Objc-Example/*.xcodeproj | head -1)"
111136 xcodebuild build -project "$PROJECT" -scheme SPM-Objc-Example \
@@ -114,6 +139,7 @@ jobs:
114139 CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
115140
116141 - name : Run SPM tests
142+ if : ${{ matrix.kit.skip_spm_tests != true }}
117143 run : |
118144 cd ${{ matrix.kit.local_path }}
119145 PACKAGE=$(grep -E '^\s*name:' Package.swift | head -1 | sed 's/.*"\([^"]*\)".*/\1/')
0 commit comments