Skip to content

Commit 7199f63

Browse files
pjcollinsjonpryor
authored andcommitted
[ci] Add API Compatibility job to Azure Pipelines (#3644)
Context: 4733cba Changes: xamarin/xamarin-android-api-compatibility@336eeda...a61271e Bumps to xamarin/xamarin-android-api-compatibility@a61271e0 Adds a new **API Compatibility** job to the Azure Pipelines 'Test' stage which downloads, installs, and runs API compatibility checks against the `.pkg` installer produced by the macOS build job. This allows our Azure DevOps-based pipeline to report API breakage, instead of requiring and relying on the previous Jenkins builds.
1 parent cf25b15 commit 7199f63

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

build-tools/automation/azure-pipelines.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,36 @@ stages:
317317
displayName: Test
318318
dependsOn: mac_build
319319
jobs:
320+
# Check - "Xamarin.Android (Test API Compatibility)"
321+
- job: mac_api_compat
322+
displayName: API Compatibility
323+
pool: $(XA.Build.Mac.Pool)
324+
timeoutInMinutes: 60
325+
cancelTimeoutInMinutes: 5
326+
workspace:
327+
clean: all
328+
steps:
329+
- checkout: self
330+
submodules: recursive
331+
332+
- template: yaml-templates/run-installer.yaml
333+
334+
- script: |
335+
make prepare-update-mono PREPARE_CI=1 V=1 PREPARE_AUTOPROVISION=1 CONFIGURATION=$(XA.Build.Configuration)
336+
make prepare PREPARE_CI=1 PREPARE_AUTOPROVISION=1 V=1 CONFIGURATION=$(XA.Build.Configuration)
337+
displayName: make prepare
338+
339+
- script: >
340+
make run-api-compatibility-tests V=1 CONFIGURATION=$(XA.Build.Configuration)
341+
FRAMEWORK_DIR=/Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/xamarin.android/xbuild-frameworks/MonoAndroid
342+
displayName: make run-api-compatibility-tests
343+
344+
- powershell: |
345+
$breakageReports = Get-ChildItem $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/compatibility -Filter *.html
346+
foreach ($report in $breakageReports) {
347+
Write-Host "##vso[task.uploadsummary]$(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/compatibility/$report"
348+
}
349+
320350
# Check - "Xamarin.Android (Test APK Instrumentation)"
321351
- job: mac_apk_tests
322352
displayName: APK Instrumentation

0 commit comments

Comments
 (0)