Skip to content

[ci] Add API Compatibility job to Azure Pipelines #3644

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Sep 19, 2019

Conversation

pjcollins
Copy link
Member

Context: #3607

Adds a new 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.

Context: dotnet#3607

Adds a new 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.
pjcollins added a commit to xamarin/xamarin-android-api-compatibility that referenced this pull request Sep 18, 2019
Context: dotnet/android#3644

xamarin-android/pull/3644 introduces an Azure Pipelines job to run API
compatibility checks against an installed .pkg file that was produced by
a previous step in the pieline. This new check appears to be failing due
to the fact that our installer includes `Mono.Android.Export.dll` and
`OpenTK-1.0.dll` in the first target framework directory that it creates
rather than the last.

We'll now check the first target framework directory for these relevant
assemblies, and only attempt to use the latest if the first doesn't
exist to address this.

An additional check has also been added to ensure that every expected
API info file is successfully created, regardless of content.
@pjcollins
Copy link
Member Author

When a breakage occurs, the step should fail and we'll see the following under the 'Summary' or 'Extensions' tab of the build UI:

Screen Shot 2019-09-18 at 1 53 00 PM

@pjcollins pjcollins marked this pull request as ready for review September 18, 2019 21:42
@pjcollins pjcollins requested a review from jonpryor as a code owner September 18, 2019 21:42
@pjcollins pjcollins added the do-not-merge PR should not be merged. label Sep 18, 2019
@pjcollins
Copy link
Member Author

This should be ready to go, but it depends on the changes in xamarin/xamarin-android-api-compatibility#23

jonpryor pushed a commit to xamarin/xamarin-android-api-compatibility that referenced this pull request Sep 19, 2019
Context: dotnet/android#3644

dotnet/android#3644 introduces an Azure Pipelines job to run
API compatibility checks against an installed `.pkg` file that was
produced by a previous step in the build pipeline.  This new check
appears to be failing due to the fact that our installer includes
`Mono.Android.Export.dll` and `OpenTK-1.0.dll` in the *first* target
framework directory that it creates rather than all of them.

We'll now check the first target framework directory for these
relevant assemblies, and only attempt to use the latest if the first
doesn't exist to address this, which would happen on PR builds.

An additional check has also been added to ensure that every expected
API info file is successfully created, regardless of content.
@pjcollins pjcollins removed the do-not-merge PR should not be merged. label Sep 19, 2019
@pjcollins pjcollins requested a review from gugavaro September 19, 2019 17:25
@pjcollins
Copy link
Member Author

xamarin/xamarin-android-api-compatibility#23 has been merged, this should be ready to go assuming we get a green api-compatibility check on this latest run.

@jonpryor jonpryor merged commit 52a4a82 into dotnet:master Sep 19, 2019
jonpryor pushed a commit that referenced this pull request Sep 20, 2019
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.
@github-actions github-actions bot locked and limited conversation to collaborators Jan 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants