runner-images icon indicating copy to clipboard operation
runner-images copied to clipboard

Xamarin.Android installation broken?

Open jonathanpeppers opened this issue 1 year ago • 8 comments

Description

As reported here: https://github.com/xamarin/xamarin-android/issues/7233

We recieved some confusing build logs from customers, where it appeared that one file in the Xamarin.Android installation was old on the macos-latest pool, while others were up to date.

So I zipped up the contents of (on https://github.com/jonathanpeppers/maui-profiling/pull/20):

/Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/xamarin.android/xbuild/Xamarin/Android/

And it appears this file is from Xamarin.Android 13.0.0.0:

Xamarin.Android.Common.props

But this one is very old:

Xamarin.Android.Tools.AndroidSdk.dll

image

It must be around 3 years old?

It should say:

image

I found I could workaround the problem by installing the latest Xamarin.Android on top:

dotnet tool install --global boots --version 1.1.0.712-preview2
boots --preview Xamarin.Android

(boots is a tool that just installs our .pkg)

Platforms affected

  • [X] Azure DevOps
  • [ ] GitHub Actions

Virtual environments affected

  • [ ] Ubuntu 18.04
  • [ ] Ubuntu 20.04
  • [ ] Ubuntu 22.04
  • [ ] macOS 10.15
  • [ ] macOS 11
  • [X] macOS 12
  • [ ] Windows Server 2019
  • [ ] Windows Server 2022

Image version and build link

I believe this is macos-latest?

The build log says:

Agent name: 'Azure Pipelines 4'
Agent machine name: 'Mac-1659991689912'
Current agent version: '2.206.1'

Is it regression?

Yes, I believe macos-latest was updated very recently for NDK 25, and the problem started occurring.

Expected behavior

Xamarin.Android files match what is in our .pkg

Actual behavior

Xamarin.Android files somehow have an old Xamarin.Android.Tools.AndroidSdk.dll

Repro steps

Inspect the files in:

/Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/xamarin.android/xbuild/Xamarin/Android/

jonathanpeppers avatar Aug 09 '22 13:08 jonathanpeppers

Hi @jonathanpeppers, thank you for reporting this one. We will take a look and get back to you.

igorboskovic3 avatar Aug 09 '22 15:08 igorboskovic3

@igorboskovic3 we had 3 reports come in related to this in the past 24 hours, let me know if there is anything I can do to help, thanks!

jonathanpeppers avatar Aug 09 '22 19:08 jonathanpeppers

Hello @jonathanpeppers. The latest version of Xamarin.Android installed on macOS-12 is 12.2.8.3.

          <AndroidMinimumSupportedApiLevel Include="x86">
            <ApiLevel>16</ApiLevel>
          </AndroidMinimumSupportedApiLevel>
          <AndroidMinimumSupportedApiLevel Include="x86_64">
            <ApiLevel>21</ApiLevel>
          </AndroidMinimumSupportedApiLevel>

We are planning to add Xamarin.Android 12.3.3.3 and 13.0.0.0 versions.

Ps. Could you please review https://github.com/actions/runner-images/pull/6045 ?

al-cheb avatar Aug 10 '22 06:08 al-cheb

Xamarin.Android 13 released to stable yesterday along with VS 2022 17.3:

  • https://download.visualstudio.microsoft.com/download/pr/e81e04d3-768a-4310-9c9b-f32e8ba00eaa/cadb090bcfdea3e663e23d082701d4ad/xamarin.android-13.0.0.0.pkg
  • https://download.visualstudio.microsoft.com/download/pr/f33785ca-afdb-403b-a9aa-1465b7c2737c/7261c190c51cfa50126fce083b5ebee54542ac6a8816880bfc3474b7d9830284/Xamarin.Android.Sdk-13.0.0.0.vsix

jonathanpeppers avatar Aug 10 '22 13:08 jonathanpeppers

FYI I reviewed the contents of this file again:

/Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/xamarin.android/xbuild/Xamarin/Android/Xamarin.Android.Common.props

The image seems like it has:

<XamarinAndroidVersion Condition=" '$(UsingAndroidNETSdk)' != 'true' ">12.0.0-3</XamarinAndroidVersion>

So the only "mismatch" I actually see, is in a customer's .binlog they emailed me. It says XamarinAndroidVersion=13.0.0-0, but then has the outdated Xamarin.Android.Tools.AndroidSdk.dll.

I think that we can probably close this as fixed with https://github.com/actions/runner-images/pull/6045, and see how things go? Thanks!

jonathanpeppers avatar Aug 10 '22 14:08 jonathanpeppers

Xamarin.Android 13 released to stable yesterday along with VS 2022 17.3:

@jonathanpeppers, should this have fixed the v12.1 issue i reported? I just verified that it still seems to be happening, No rush for me since we do have the boots workaround. Just curious if we thought that was fixed too.

Current image version: '20220807.1'

GreatBarrier86 avatar Aug 10 '22 15:08 GreatBarrier86

I believe https://github.com/actions/runner-images/pull/6045 is updating the image, maybe @al-cheb can comment how long that will take to roll out everywhere.

jonathanpeppers avatar Aug 10 '22 15:08 jonathanpeppers

A new image rollout starts on Monday and it takes ~ 3-4 days to deploy.

al-cheb avatar Aug 10 '22 16:08 al-cheb

The new macOS-12 image has been deployed.

al-cheb avatar Aug 19 '22 13:08 al-cheb

@al-cheb we have a customer saying they still don't have Xamarin.Android 13.x on macos-latest:

https://github.com/xamarin/xamarin-android/issues/7233#issuecomment-1233315111

Is there more info we can ask for? I wonder if they somehow don't have the update that rolled out?

jonathanpeppers avatar Aug 31 '22 19:08 jonathanpeppers

Here is the comment showing the `-v:diag' in the MSBuild options: https://github.com/xamarin/xamarin-android/issues/7233#issuecomment-1223252344

It's showing Android 12.

GreatBarrier86 avatar Aug 31 '22 19:08 GreatBarrier86

@al-cheb we have a customer saying they still don't have Xamarin.Android 13.x on macos-latest:

xamarin/xamarin-android#7233 (comment)

Is there more info we can ask for? I wonder if they somehow don't have the update that rolled out?

@jonathanpeppers , it should be available only on macOS-12(macos-latest is tight to macos-11):

image

al-cheb avatar Aug 31 '22 21:08 al-cheb

@GreatBarrier86 , could you please provide a runner version? Please pay attention that macos-latest or macos-11, but we added Xamarin.Android bundle only for macOS-12.

al-cheb avatar Aug 31 '22 21:08 al-cheb

Here's the info. Are you saying you won't be updating macos-latest? Seems reasonable that one would be updated. Isn't that was "latest" really means?

image

GreatBarrier86 avatar Aug 31 '22 21:08 GreatBarrier86

Isn't that was "latest" really means?

https://github.com/actions/runner-images#available-images

al-cheb avatar Aug 31 '22 22:08 al-cheb

I'm really asking why the "latest" one isn't updated with the latest software. I've been fighting this assuming that latest was actually latest, and it's not. Can we not trust latest to always have the latest software then?

GreatBarrier86 avatar Aug 31 '22 22:08 GreatBarrier86

@GreatBarrier86 migration the *-latest tag is not that easy process. We will announce macOS-latest migration to macOS-12 soon.

miketimofeev avatar Sep 01 '22 06:09 miketimofeev