Skip to content

Conversation

@ameyapat
Copy link
Contributor

No description provided.

@ameyapat ameyapat requested a review from a team as a code owner January 12, 2026 23:55
Copilot AI review requested due to automatic review settings January 12, 2026 23:55
@ameyapat ameyapat requested a review from a team as a code owner January 12, 2026 23:55
@request-info
Copy link

request-info bot commented Jan 12, 2026

Please add additional information about this issue or PR. Please be as descriptive as possible.

displayName: Replace HEADER_SEARCH_PATHS for NativeAuth subspec in MSAL.podspec
inputs:
targetType: 'inline'
script: |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request does not update CHANGELOG.md.

Please consider if this change would be noticeable to a partner or user and either update CHANGELOG.md or resolve this conversation.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new xcodebuild task to the cocoapods_lib_lint job in the automation pipeline to build the MSAL workspace before running pod lib lint.

Changes:

  • Added a Bash task that executes xcodebuild to build the 'MSAL Test Automation (iOS)' scheme for iOS Simulator

Comment on lines +154 to +164
- task: Bash@3
displayName: Build MSAL workspace
inputs:
targetType: 'inline'
script: |
xcodebuild build \
-workspace MSAL.xcworkspace \
-scheme 'MSAL Test Automation (iOS)' \
-sdk 'iphonesimulator' \
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.1' \
-derivedDataPath 'build'
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This build task uses direct xcodebuild commands instead of the repository's recommended build.py script. According to the project guidelines in .clinerules/AGENTS.md, the repository uses a Python script build.py to manage build and test operations, and the guidelines state to "prefer using the script over raw xcodebuild commands as it handles destination flags and settings correctly."

Additionally, this introduces an inconsistency: the other automation jobs in this file (ui_automation, e2e_test_native_auth_ios, e2e_test_native_auth_mac) use the templates/tests-with-conf-file.yml template which performs a proper build-for-testing step with configuration file setup from KeyVault. The cocoapods_lib_lint job appears to need the build artifacts from the automation test scheme, but this direct xcodebuild approach bypasses the established automation test infrastructure.

Copilot generated this review using guidance from repository custom instructions.
Comment on lines +155 to +164
displayName: Build MSAL workspace
inputs:
targetType: 'inline'
script: |
xcodebuild build \
-workspace MSAL.xcworkspace \
-scheme 'MSAL Test Automation (iOS)' \
-sdk 'iphonesimulator' \
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.1' \
-derivedDataPath 'build'
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The xcodebuild 'build' command is used here, but the ui_automation job uses 'build-for-testing' (line 43 in templates/tests-with-conf-file.yml). The 'MSAL Test Automation (iOS)' scheme is a test scheme that requires special configuration including a conf.json file from Azure KeyVault. Without the proper build-for-testing approach and configuration setup, this build may not produce the correct artifacts or may fail entirely.

If the intent is to prepare artifacts for the cocoapods validation, consider either:

  1. Using the build.py script with appropriate targets
  2. Reusing the existing template that properly handles test scheme builds
  3. Using a non-test scheme that doesn't require automation configuration
Suggested change
displayName: Build MSAL workspace
inputs:
targetType: 'inline'
script: |
xcodebuild build \
-workspace MSAL.xcworkspace \
-scheme 'MSAL Test Automation (iOS)' \
-sdk 'iphonesimulator' \
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.1' \
-derivedDataPath 'build'
displayName: Build MSAL iOS framework with build.py
inputs:
targetType: 'inline'
script: |
python3 ./build.py --targets iosFramework
workingDirectory: '$(Build.SourcesDirectory)'

Copilot uses AI. Check for mistakes.
-workspace MSAL.xcworkspace \
-scheme 'MSAL Test Automation (iOS)' \
-sdk 'iphonesimulator' \
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.1' \
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The iOS Simulator device and OS version specified here (iPhone 16, OS 18.1) must match the simulator available on the vmImage 'macOS-14' pool (defined at line 28). The build.py script uses iPhone 15 with iOS 17.5 as defaults. Additionally, the templates/tests-with-conf-file.yml uses Xcode 16.1 (line 13), but this task doesn't include the Xcode version selection step. Verify that:

  1. iPhone 16 simulator with iOS 18.1 is available on macOS-14 agents
  2. The default Xcode on macOS-14 supports these specifications
  3. Consider adding an Xcode selection step before this build task for consistency

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants