Skip to content

Commit 1a00f12

Browse files
committed
Merge branch 'main' into inflight/candidate
2 parents b13414f + 3f5d0c5 commit 1a00f12

File tree

24 files changed

+422
-193
lines changed

24 files changed

+422
-193
lines changed

.github/workflows/dogfood-comment.yml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
11
name: Add Dogfooding Comment
22

33
on:
4-
# Use pull_request_target to run in the context of the base branch
5-
# This allows commenting on PRs from forks
6-
pull_request_target:
7-
types: [opened, reopened, synchronize]
8-
branches:
9-
- 'main'
10-
- 'net*'
11-
- 'release/**'
4+
# Trigger when the maui-pr build check completes
5+
check_run:
6+
types: [completed]
127

138
# Allow manual triggering
149
workflow_dispatch:
@@ -20,13 +15,23 @@ on:
2015

2116
# Ensure only one instance runs at a time per PR to prevent duplicate comments
2217
concurrency:
23-
group: dogfood-comment-${{ github.event.pull_request.number || github.event.inputs.pr_number }}
18+
group: dogfood-comment-${{ github.event.check_run.pull_requests[0].number || github.event.inputs.pr_number || 'unknown' }}
2419
cancel-in-progress: true
2520

2621
jobs:
2722
add-dogfood-comment:
28-
# Only run on the dotnet org to avoid running on forks
29-
if: ${{ github.repository_owner == 'dotnet' }}
23+
# Only run on the dotnet org, for the maui-pr check, when it completes successfully
24+
if: |
25+
github.repository_owner == 'dotnet' &&
26+
(
27+
github.event_name == 'workflow_dispatch' ||
28+
(
29+
github.event_name == 'check_run' &&
30+
github.event.check_run.name == 'maui-pr (Pack .NET MAUI Pack Windows)' &&
31+
github.event.check_run.conclusion == 'success' &&
32+
github.event.check_run.pull_requests[0] != null
33+
)
34+
)
3035
runs-on: ubuntu-latest
3136
permissions:
3237
pull-requests: write
@@ -36,8 +41,8 @@ jobs:
3641
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
3742
with:
3843
script: |
39-
// Get PR number from either the PR event or manual input
40-
const prNumber = context.payload.number || context.payload.inputs?.pr_number;
44+
// Get PR number from either the check_run event or manual input
45+
const prNumber = context.payload.check_run?.pull_requests?.[0]?.number || context.payload.inputs?.pr_number;
4146
4247
const bashScript = 'https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh';
4348
const psScript = 'https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1';

eng/pipelines/arcade/setup-test-env.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ steps:
1212
fetchDepth: 1
1313
clean: true
1414

15+
- template: /eng/pipelines/common/enable-kvm.yml@self
16+
1517
- template: /eng/pipelines/common/provision.yml@self
1618
parameters:
1719
checkoutDirectory: '$(System.DefaultWorkingDirectory)'

eng/pipelines/ci.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,13 @@ parameters:
108108
- ImageOverride -equals ACES_VM_SharedPool_Tahoe
109109
label: macOS
110110

111+
- name: AndroidPoolLinux
112+
type: object
113+
default:
114+
name: MAUI-DNCENG
115+
demands:
116+
- ImageOverride -equals 1ESPT-Ubuntu22.04
117+
111118

112119
# Condition for MacOSPool comparison lanes (non-ARM64)
113120
# Runs on: (non-PR on main/net*.0/release/*/inflight/*) OR (PR targeting net*.0/release/*/inflight/*)
@@ -277,12 +284,9 @@ stages:
277284
# TODO: macOSTemplates and AOT template categories
278285
- name: mac_runandroid_tests
279286
${{ if eq(variables['Build.DefinitionName'], 'maui-pr') }}:
280-
pool:
281-
name: AcesShared
282-
demands:
283-
- ImageOverride -equals ACES_arm64_Sequoia_Xcode
287+
pool: ${{ parameters.AndroidPoolLinux }}
284288
${{ else }}:
285-
pool: ${{ parameters.MacOSPool.internal }}
289+
pool: ${{ parameters.AndroidPoolLinux }}
286290
timeout: 240
287291
testCategory: RunOnAndroid
288292

eng/pipelines/common/device-tests-steps.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,8 @@ steps:
3535
continueOnError: true
3636
timeoutInMinutes: 60
3737
38-
# Enable KVM for Android builds on Linux
3938
- ${{ if and(ne(parameters.buildType, 'buildOnly'), eq(parameters.platform, 'android')) }}:
40-
- bash: |
41-
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
42-
sudo udevadm control --reload-rules
43-
sudo udevadm trigger --name-match=kvm
44-
displayName: Enable KVM
45-
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
39+
- template: enable-kvm.yml
4640

4741
# Provision the various SDKs that are needed
4842
- template: provision.yml
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Enable KVM for Android tests on Linux
2+
steps:
3+
- bash: |
4+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
5+
sudo udevadm control --reload-rules
6+
sudo udevadm trigger --name-match=kvm
7+
displayName: Enable KVM
8+
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))

eng/pipelines/common/ui-tests-steps.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,8 @@ steps:
5050
continueOnError: true
5151
timeoutInMinutes: 60
5252
53-
# Enable KVM for Android builds on Linux
5453
- ${{ if and(ne(parameters.buildType, 'buildOnly'), eq(parameters.platform, 'android')) }}:
55-
- bash: |
56-
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
57-
sudo udevadm control --reload-rules
58-
sudo udevadm trigger --name-match=kvm
59-
displayName: Enable KVM
60-
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
54+
- template: enable-kvm.yml
6155

6256
- ${{ if eq(parameters.platform, 'catalyst')}}:
6357
- bash: |

0 commit comments

Comments
 (0)