How to get the right iOS Links
Closed this issue · 4 comments
I heard about boots on Merge Conflict and it sounded useful. I just want to understand the process of collecting the correct links to pass to the azure pipeline task and will do a PR on the readme once I understand better as collecting the link for iOS was quite confusing (at least to me).
From the readme:
I got each URL from:
[Mono Downloads](https://www.mono-project.com/download/stable/#download-mac)
[Xamarin.Android README](https://github.com/xamarin/xamarin-android)
[Xamarin.iOS Github Status](https://github.com/xamarin/xamarin-macios/commits/d16-4)
For me it's quite clear what to do for the mono & android links.
Mono Link
You just copy the address for the big download button
Android Link
The devs have been very nice and put the links in a table, very clear what to do here. In my case I have d16-6 installed on my mac so I chose that link.
iOS Link
Now this one is definitely getting me confused and I have no idea if I am doing the right thing to get the link.
On my development machine (mac) I'm running the following Xamarin.Mac & Xamarin.iOS versions:
Xamarin.Mac
Version: 6.20.2.2 (Visual Studio Professional)
Hash: 817b6f72a
Branch: d16-7
Build date: 2020-07-18 18:44:59-0400
Xamarin.iOS
Version: 14.0.0.0 (Visual Studio Professional)
Hash: 7ec3751a1
Branch: xcode12
Build date: 2020-09-16 11:33:15-0400
The link on the boots docs takes us to the commits for xamarin-macios, branch d16-4. I clicked on a commit and you can see the xamarin-release-manager bot commenting on the commits. The bot is commenting the following (commit):
Inspecting the 'xamarin.ios-13.8.2.9.pkg (Not notarized)' link reveals a link that looks familiar to the links cited in examples for boots:
Bot link:
https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/d16-4/917041448ecb1387068c6db0e7fea9f0ff3088fd/35/package/xamarin.ios-13.8.2.9.pkg
Boots Example Link:
https://download.visualstudio.microsoft.com/download/pr/5a678460-107f-4fcf-8764-80419bc874a0/3f78c6826132f6f8569524690322adba/xamarin.ios-13.8.1.17.pkg
I'm fairly certain this is the correct link I need to be using, however I'm currently running Xamarin.iOS 14.0.0.0 locally and can't seem to find the right package. I went to branch xcode12
to have a look for a 14.x.x.x version, I found the commit that bumped the version to 14.0.0.0 (link). Can I be sure that this is the correct link to use? Looks like some of the tests failed and the build was cancelled partway through. Is this the actual release version pkg that I have installed on my local machine.
Finally is there a nicer way of finding this link without crawling through branch commits?
In my Azure Pipeline I'm using the YAML:
- task: Boots@1
inputs:
uri: 'https://download.mono-project.com/archive/6.10.0/macos-10-universal/MonoFramework-MDK-6.10.0.104.macos10.xamarin.universal.pkg'
- task: Boots@1
inputs:
uri: 'https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/xcode12/7ec3751a1077e5d77d7375ef61182538d9d11f8d/234/package/xamarin.ios-14.0.0.0.pkg'
The app is building and everything works properly so I'm assuming I have the process correct, if so I'll make a PR elaborating on this process because I found it a little cumbersome getting the right links for iOS 😅
@Axemasta I think what you listed here is great. Would you mind opening a PR to add a new docs/HowToFindBuilds.md
? I could copy it, but this would be a great contribution.
I think you can get Xamarin.iOS 14.x from the d16-8
branch: https://github.com/xamarin/xamarin-macios/commits/d16-8
d16-8
is equivalent to what ships in 16.8 for Visual Studio or 8.8 VS Mac.
The latest commit has:
Another option is to use --stable
or --preview
:
boots --stable Mono
boots --stable Xamarin.Android
boots --stable Xamarin.iOS
boots --stable Xamarin.Mac
I don't know if you've seen this feature. It uses the Visual Studio updater manifests to locate the official packages.
Alright good stuff, I've made a fork and will make a PR at some point tomorrow.
In the meantime, is that boots option available everywhere? can I use it in an azure pipeline etc?
I actually use boots
to provision the build for boots
on an Azure pipeline. 🤯
You need at least boots
1.0.2.x installed for --stable
and --preview
to work.
I think we can close this and #48 will help a lot, thanks!