@@ -37,10 +37,15 @@ 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
44+ INCLUDES="{${INCLUDES}}"
4045 for attempt in 1 2 3; do
4146 pod lib lint "${{ matrix.kit.podspec }}" \
4247 --allow-warnings \
43- --include-podspecs="{mParticle-Apple-SDK-Swift.podspec,mParticle-Apple-SDK-ObjC.podspec,mParticle-Apple-SDK.podspec} " \
48+ --include-podspecs="$INCLUDES " \
4449 && break
4550 [ $attempt -lt 3 ] && echo "Attempt $attempt failed, retrying in 60s..." && sleep 60 || exit 1
4651 done
@@ -69,35 +74,55 @@ jobs:
6974 - name : Resolve SPM dependencies
7075 run : |
7176 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
77+ LOCAL_PATH="${{ matrix.kit.local_path }}"
78+ if compgen -G "$LOCAL_PATH"/*.xcodeproj > /dev/null; then
79+ PROJECT="$(ls -d "$LOCAL_PATH"/*.xcodeproj | head -1)"
80+ xcodebuild -resolvePackageDependencies -project "$PROJECT" \
81+ -scheme "$SCHEME" -derivedDataPath DerivedData
82+ else
83+ (cd "$LOCAL_PATH" && xcodebuild -resolvePackageDependencies -scheme "$SCHEME" -derivedDataPath "$OLDPWD/DerivedData")
84+ fi
7685
7786 - name : Build kit schemes
7887 run : |
88+ LOCAL_PATH="${{ matrix.kit.local_path }}"
7989 echo '${{ toJson(matrix.kit.schemes) }}' | jq -c '.[]' | while IFS= read -r ENTRY; do
8090 SCHEME=$(echo "$ENTRY" | jq -r '.scheme')
8191 DEST=$(echo "$ENTRY" | jq -r '.destination')
8292
83- if [ -d "${{ matrix.kit.local_path }}/$SCHEME.xcodeproj" ]; then
84- PROJECT="${{ matrix.kit.local_path }}/$SCHEME.xcodeproj"
93+ if [ -d "$LOCAL_PATH/$SCHEME.xcodeproj" ]; then
94+ PROJECT="$LOCAL_PATH/$SCHEME.xcodeproj"
95+ XB=(xcodebuild build -project "$PROJECT" -scheme "$SCHEME")
96+ elif compgen -G "$LOCAL_PATH"/*.xcodeproj > /dev/null; then
97+ PROJECT="$(ls -d "$LOCAL_PATH"/*.xcodeproj | head -1)"
98+ XB=(xcodebuild build -project "$PROJECT" -scheme "$SCHEME")
8599 else
86- PROJECT="$(ls -d ${{ matrix.kit.local_path }}/*.xcodeproj | head -1)"
100+ XB=(xcodebuild build -scheme "$SCHEME")
87101 fi
88102
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
103+ if compgen -G "$LOCAL_PATH"/*.xcodeproj > /dev/null; then
104+ "${XB[@]}" \
105+ -destination "generic/platform=$DEST" \
106+ -derivedDataPath DerivedData \
107+ CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
108+ "${XB[@]}" \
109+ -destination "generic/platform=$DEST Simulator" \
110+ -derivedDataPath DerivedData \
111+ CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
112+ else
113+ (cd "$LOCAL_PATH" && "${XB[@]}" \
114+ -destination "generic/platform=$DEST" \
115+ -derivedDataPath "$OLDPWD/DerivedData" \
116+ CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO)
117+ (cd "$LOCAL_PATH" && "${XB[@]}" \
118+ -destination "generic/platform=$DEST Simulator" \
119+ -derivedDataPath "$OLDPWD/DerivedData" \
120+ CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO)
121+ fi
98122 done
99123
100124 - name : Build SPM-Swift-Example
125+ if : ${{ matrix.kit.skip_example_builds != true }}
101126 run : |
102127 PROJECT="$(ls -d ${{ matrix.kit.local_path }}/Example/SPM-Swift-Example/*.xcodeproj | head -1)"
103128 xcodebuild build -project "$PROJECT" -scheme SPM-Swift-Example \
@@ -106,6 +131,7 @@ jobs:
106131 CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
107132
108133 - name : Build SPM-Objc-Example
134+ if : ${{ matrix.kit.skip_example_builds != true }}
109135 run : |
110136 PROJECT="$(ls -d ${{ matrix.kit.local_path }}/Example/SPM-Objc-Example/*.xcodeproj | head -1)"
111137 xcodebuild build -project "$PROJECT" -scheme SPM-Objc-Example \
@@ -114,6 +140,7 @@ jobs:
114140 CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
115141
116142 - name : Run SPM tests
143+ if : ${{ matrix.kit.skip_spm_tests != true }}
117144 run : |
118145 cd ${{ matrix.kit.local_path }}
119146 PACKAGE=$(grep -E '^\s*name:' Package.swift | head -1 | sed 's/.*"\([^"]*\)".*/\1/')
0 commit comments