diff --git a/.github/workflows/backport-trigger.yml b/.github/workflows/backport-trigger.yml
index e958c8e5c84e..91798bad2b51 100644
--- a/.github/workflows/backport-trigger.yml
+++ b/.github/workflows/backport-trigger.yml
@@ -5,20 +5,34 @@ on:
types: [created]
jobs:
- launchBackportBuild:
+ setupBackport:
runs-on: ubuntu-latest
- if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/sudo backport')
-
+ if: github.event.issue.pull_request != '' && startswith(github.event.comment.body, '/sudo backport')
+ outputs:
+ target_branch: ${{ steps.parse_comment.outputs.target_branch }}
steps:
- - uses: xamarin/backport-bot-action@v1.1
- with:
- pull_request_url: ${{ github.event.issue.pull_request.url }}
- comment_body: ${{ github.event.comment.body }}
- comment_author: ${{ github.actor }}
- github_repository: ${{ github.repository }}
- ado_organization: ${{ secrets.ADO_PROJECTCOLLECTION }}
- ado_project: ${{ secrets.ADO_PROJECT }}
- backport_pipeline_id: ${{ secrets.BACKPORT_PIPELINEID }}
- ado_build_pat: ${{ secrets.ADO_BUILDPAT }}
- github_account_pat: ${{ secrets.SERVICEACCOUNT_PAT }}
- use_fork: true
+ - name: Parse Comment
+ id: parse_comment
+ run: |
+ Write-Host "Parsing $env:COMMENT"
+ ($botName, $backport, $backportTargetBranch) = [System.Text.RegularExpressions.Regex]::Split("$env:COMMENT", "\s+")
+ echo "::set-output name=target_branch::$backportTargetBranch"
+ shell: pwsh
+ env:
+ COMMENT: "${{ github.event.comment.body }}"
+
+ launchBackportBuild:
+ needs: setupBackport
+ uses: xamarin/backport-bot-action/.github/workflows/backport-action.yml@v1.1
+ with:
+ pull_request_url: ${{ github.event.issue.pull_request.url }}
+ target_branch: ${{ needs.setupBackport.outputs.target_branch }}
+ comment_author: ${{ github.actor }}
+ github_repository: ${{ github.repository }}
+ use_fork: true
+ secrets:
+ ado_organization: ${{ secrets.ADO_PROJECTCOLLECTION }}
+ ado_project: ${{ secrets.ADO_PROJECT }}
+ backport_pipeline_id: ${{ secrets.BACKPORT_PIPELINEID }}
+ ado_build_pat: ${{ secrets.ADO_BUILDPAT }}
+ github_account_pat: ${{ secrets.SERVICEACCOUNT_PAT }}
diff --git a/dotnet/Microsoft.iOS.Windows.Sdk/targets/Microsoft.iOS.Windows.Sdk.props b/dotnet/Microsoft.iOS.Windows.Sdk/targets/Microsoft.iOS.Windows.Sdk.props
index f834eba64dbd..57f86c3eed67 100644
--- a/dotnet/Microsoft.iOS.Windows.Sdk/targets/Microsoft.iOS.Windows.Sdk.props
+++ b/dotnet/Microsoft.iOS.Windows.Sdk/targets/Microsoft.iOS.Windows.Sdk.props
@@ -8,6 +8,7 @@
<_DotNetRootRemoteDirectory Condition="$(_DotNetRootRemoteDirectory) == ''">/usr/local/share/dotnet/
<_XamarinSdkRootDirectoryOnMac Condition="'$(_XamarinSdkRootDirectory)' != ''">$(_XamarinSdkRootDirectory.Replace('$(NetCoreRoot)', '$(_DotNetRootRemoteDirectory)'))
<_MlaunchPath Condition="'$(_MlaunchPath)' == ''">$(_XamarinSdkRootDirectoryOnMac)tools/bin/mlaunch
+ $(_XamarinSdkRootDirectoryOnMac)tools/bin/mlaunch
$(AfterMicrosoftNETSdkTargets);$(MSBuildThisFileDirectory)..\targets\Microsoft.iOS.Windows.Sdk.targets
<_XamarinSdkRootOnMac Condition="'$(_XamarinSdkRoot)' != ''">$(_XamarinSdkRoot.Replace('$(NetCoreRoot)', '$(_DotNetRootRemoteDirectory)'))
diff --git a/dotnet/targets/Xamarin.Shared.Sdk.targets b/dotnet/targets/Xamarin.Shared.Sdk.targets
index 20d545110cb5..496a66b7537b 100644
--- a/dotnet/targets/Xamarin.Shared.Sdk.targets
+++ b/dotnet/targets/Xamarin.Shared.Sdk.targets
@@ -1751,34 +1751,51 @@
- <_MlaunchPath Condition="'$(_MlaunchPath)' == ''">$(_XamarinSdkRootDirectory)tools\bin\mlaunch
+
+ $(_MlaunchPath)
+ $(_XamarinSdkRootDirectory)tools\bin\mlaunch
+ <_MlaunchPath Condition="'$(_MlaunchPath)' == ''">$(MlaunchPath)
-
+
+
+
+
-
+
-
+
-
-
+
+
+
+
+
+
+
<_MlaunchCaptureOutput Condition="'$(_MlaunchCaptureOutput)' == ''">true
@@ -1803,7 +1820,7 @@
DeviceName="$(_DeviceName)"
EnvironmentVariables="@(MlaunchEnvironmentVariables)"
LaunchApp="$(_AppBundlePath)"
- MlaunchPath="$(_MlaunchPath)"
+ MlaunchPath="$(MlaunchPath)"
SdkIsSimulator="$(_SdkIsSimulator)"
SdkDevPath="$(_SdkDevPath)"
SdkVersion="$(_SdkVersion)"
@@ -1812,12 +1829,23 @@
TargetFrameworkMoniker="$(_ComputedTargetFrameworkMoniker)"
WaitForExit="$(_MlaunchWaitForExit)"
>
-
+
+
+
+
+
+
- $(_MlaunchPath)
- $(_MlaunchRunArguments)
+ $(MlaunchPath)
+ $(MlaunchRunArguments)
@@ -1898,7 +1926,11 @@ global using nfloat = global::System.Runtime.InteropServices.NFloat%3B
-
+