-
Notifications
You must be signed in to change notification settings - Fork 144
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add SPM validation in each PR (#2181)
* Add spm-integration-test.sh to the pr-validation.yml * git fetch quietly and checkout to original branch * Move part of the script to pr-validation.yml wip * Set continueOnError to false. Set Cleanup to happen always, even if there is an error. * Remove UUID for temporary branch name. * Set persistCredentials to false * Revert previous commit
- Loading branch information
1 parent
68b97f3
commit 41def13
Showing
2 changed files
with
118 additions
and
1 deletion.
There are no files selected for viewing
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
BRANCH_NAME="$1" | ||
SAMPLE_APP_TEMP_DIR="NativeAuthSampleAppTemp" | ||
current_date=$(date +"%Y-%m-%d %H:%M:%S") | ||
|
||
set -e | ||
|
||
# Build framework | ||
|
||
echo "Building framework" | ||
|
||
xcodebuild -sdk iphonesimulator -configuration Release -workspace MSAL.xcworkspace -scheme "MSAL (iOS Framework)" archive SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES -archivePath archive/iOSSimulator CODE_SIGNING_ALLOWED=NO -quiet > build.log 2>&1 | ||
xcodebuild -sdk iphoneos -configuration Release -workspace MSAL.xcworkspace -scheme "MSAL (iOS Framework)" archive SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES -archivePath archive/iOS CODE_SIGNING_ALLOWED=NO -quiet > build.log 2>&1 | ||
xcodebuild -sdk macosx -configuration Release -workspace MSAL.xcworkspace -scheme "MSAL (Mac Framework)" archive SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES -archivePath archive/macOS CODE_SIGNING_ALLOWED=NO -quiet > build.log 2>&1 | ||
|
||
xcodebuild -create-xcframework -framework archive/iOSSimulator.xcarchive/Products/Library/Frameworks/MSAL.framework -framework archive/iOS.xcarchive/Products/Library/Frameworks/MSAL.framework -framework archive/macOS.xcarchive/Products/Library/Frameworks/MSAL.framework -output framework/MSAL.xcframework > build.log 2>&1 | ||
|
||
echo "Creating MSAL.zip" | ||
zip -r MSAL.zip framework/MSAL.xcframework -y -v | ||
|
||
echo "Calculating checksum" | ||
CHECKSUM=$(swift package compute-checksum MSAL.zip) | ||
if [ -z "$CHECKSUM" ]; then | ||
echo "** Checksum could not be obtained **" | ||
exit 1 | ||
fi | ||
|
||
echo "Updating Package.swift" | ||
|
||
NEW_URL="https://github.com/AzureAD/microsoft-authentication-library-for-objc/raw/$BRANCH_NAME/MSAL.zip" | ||
|
||
sed -i '' "s#url: \"[^\"]*\"#url: \"$NEW_URL\"#" Package.swift | ||
sed -i '' "s#checksum: \"[^\"]*\"#checksum: \"$CHECKSUM\"#" Package.swift | ||
|
||
echo "Pushing MSAL.zip and Package.swift to $BRANCH_NAME" | ||
|
||
git add MSAL.zip Package.swift | ||
|
||
git commit -m "Publish temporary Swift Package $current_date" | ||
git push -f origin "$BRANCH_NAME" | ||
|
||
# Download Sample App | ||
|
||
echo "Downloading and updating Sample App to use temporary Swift Package" | ||
|
||
mkdir -p "$SAMPLE_APP_TEMP_DIR" | ||
cd "$SAMPLE_APP_TEMP_DIR" | ||
|
||
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-ios-sample.git | ||
cd ms-identity-ciam-native-auth-ios-sample | ||
|
||
sed -i '' 's#kind = upToNextMinorVersion;#kind = branch;#' NativeAuthSampleApp.xcodeproj/project.pbxproj | ||
sed -i '' "s#minimumVersion = [0-9.]*;#branch = $BRANCH_NAME;#" NativeAuthSampleApp.xcodeproj/project.pbxproj | ||
|
||
rm -f NativeAuthSampleApp.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved | ||
|
||
echo "Running the Sample App with the temporary Swift Package" | ||
|
||
xcodebuild -resolvePackageDependencies | ||
xcodebuild -scheme NativeAuthSampleApp -configuration Release -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 14,OS=16.4' clean build |