Skip to content

Commit 23742a9

Browse files
radicalRussKie
andauthored
[CI] Add PR validation on macOS (#9175)
* [tests] Run tests workflow on macos * Adjust RequiresDocker and RequiresSSLCertificate to skip macos * Disable tests failing on macos * Don't override DOTNET_ROOT when getting list of tests * Skip playground tests on windows and macos .. and add RunOnGithubActionsMacOS * Update runsheet runners * fixup! Update runsheet runners * fixup! Update runsheet runners * Address review feedback from @ russkie * Address review feedback from @ russkie - skip E2E tests on macos as they .. are timing out. Issue: #9198 * Add missing CI: false for outerloop test runs Fixes ``` /home/runner/work/aspire/aspire/eng/Versions.targets(49,67): error MSB4057: The target "GitInfo" does not exist in the project. [/home/runner/work/aspire/aspire/src/Microsoft.Extensions.ServiceDiscovery.Abstractions/Microsoft.Extensions.ServiceDiscovery.Abstractions.csproj] /home/runner/work/aspire/aspire/eng/Versions.targets(49,67): error MSB4057: The target "GitInfo" does not exist in the project. [/home/runner/work/aspire/aspire/src/Microsoft.Extensions.ServiceDiscovery.Abstractions/Microsoft.Extensions.ServiceDiscovery.Abstractions.csproj] /home/runner/work/aspire/aspire/eng/Versions.targets(49,67): error MSB4057: The target "GitInfo" does not exist in the project. [/home/runner/work/aspire/aspire/src/Tools/ConfigurationSchemaGenerator/ConfigurationSchemaGenerator.csproj] /home/runner/work/aspire/aspire/eng/Versions.targets(49,67): error MSB4057: The target "GitInfo" does not exist in the project. [/home/runner/work/aspire/aspire/src/Microsoft.Extensions.ServiceDiscovery.Abstractions/Microsoft.Extensions.ServiceDiscovery.Abstractions.csproj] /home/runner/work/aspire/aspire/eng/Versions.targets(49,67): error MSB4057: The target "GitInfo" does not exist in the project. [/home/runner/work/aspire/aspire/src/Tools/ConfigurationSchemaGenerator/ConfigurationSchemaGenerator.csproj] ``` * Add macos to the quarantined tests report generator --------- Co-authored-by: Igor Velikorossov <[email protected]> Co-authored-by: Igor Velikorossov <[email protected]>
1 parent 2678c7c commit 23742a9

File tree

17 files changed

+125
-24
lines changed

17 files changed

+125
-24
lines changed

.github/actions/enumerate-tests/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ runs:
6969
"integrations_tests_matrix=$jsonString"
7070
"integrations_tests_matrix=$jsonString" | Out-File -FilePath $env:GITHUB_OUTPUT
7171
72-
- name: Generate tests matrix
72+
- name: Generate templates matrix
7373
id: generate_templates_matrix
7474
if: ${{ inputs.includeTemplates }}
7575
shell: pwsh

.github/workflows/run-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
}
6060
6161
- name: Setup vars (Linux)
62-
if: ${{ inputs.os == 'ubuntu-latest' }}
62+
if: ${{ inputs.os == 'ubuntu-latest' || inputs.os == 'macos-latest' }}
6363
run: |
6464
echo "DOTNET_SCRIPT=./dotnet.sh" >> $GITHUB_ENV
6565
echo "BUILD_SCRIPT=./build.sh" >> $GITHUB_ENV
@@ -275,7 +275,7 @@ jobs:
275275
path: result-*.rst
276276

277277
- name: Dump docker info
278-
if: always()
278+
if: ${{ always() && inputs.os == 'ubuntu-latest' }}
279279
run: |
280280
docker container ls --all
281281
docker container ls --all --format json

.github/workflows/tests-outerloop.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ jobs:
6262
run: ./dotnet.sh dev-certs https --trust
6363

6464
- name: Test ${{ matrix.tests.project }}
65+
env:
66+
CI: false
6567
run: |
6668
${{ matrix.tests.command }}
6769
@@ -103,6 +105,8 @@ jobs:
103105
$OS = "ubuntu"
104106
} elseif ($trxFile.FullName -match "windows") {
105107
$OS = "windows"
108+
} elseif ($trxFile.FullName -match "macos") {
109+
$OS = "macos"
106110
} else {
107111
$OS = "unknown"
108112
}

.github/workflows/tests.yml

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,22 @@ jobs:
3636
includeIntegrations: true
3737
includeTemplates: true
3838

39+
setup_for_tests_macos:
40+
name: Setup for tests (macOS)
41+
if: ${{ github.repository_owner == 'dotnet' }}
42+
runs-on: macos-latest
43+
outputs:
44+
integrations_tests_matrix: ${{ steps.generate_tests_matrix.outputs.integrations_tests_matrix }}
45+
templates_tests_matrix: ${{ steps.generate_tests_matrix.outputs.templates_tests_matrix }}
46+
steps:
47+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
48+
49+
- uses: ./.github/actions/enumerate-tests
50+
id: generate_tests_matrix
51+
with:
52+
includeIntegrations: true
53+
includeTemplates: true
54+
3955
setup_for_tests_win:
4056
name: Setup for tests (Windows)
4157
if: ${{ github.repository_owner == 'dotnet' }}
@@ -84,6 +100,19 @@ jobs:
84100
os: "ubuntu-latest"
85101
extraTestArgs: "--filter-not-trait \"quarantined=true\""
86102

103+
integrations_test_macos:
104+
uses: ./.github/workflows/run-tests.yml
105+
name: Integrations macos
106+
needs: setup_for_tests_macos
107+
strategy:
108+
fail-fast: false
109+
matrix:
110+
${{ fromJson(needs.setup_for_tests_macos.outputs.integrations_tests_matrix) }}
111+
with:
112+
testShortName: ${{ matrix.shortname }}
113+
os: "macos-latest"
114+
extraTestArgs: "--filter-not-trait \"quarantined=true\""
115+
87116
integrations_test_win:
88117
uses: ./.github/workflows/run-tests.yml
89118
name: Integrations Windows
@@ -114,6 +143,23 @@ jobs:
114143
requiresNugets: true
115144
requiresTestSdk: true
116145

146+
templates_test_macos:
147+
name: Templates macos
148+
uses: ./.github/workflows/run-tests.yml
149+
needs: [setup_for_tests_macos, build_packages]
150+
strategy:
151+
fail-fast: false
152+
matrix: ${{ fromJson(needs.setup_for_tests_macos.outputs.templates_tests_matrix) }}
153+
with:
154+
testShortName: ${{ matrix.shortname }}
155+
os: "macos-latest"
156+
testProjectPath: tests/Aspire.Templates.Tests/Aspire.Templates.Tests.csproj
157+
testSessionTimeout: 20m
158+
testHangTimeout: 12m
159+
extraTestArgs: "--filter-not-trait quarantined=true --filter-class Aspire.Templates.Tests.${{ matrix.shortname }}"
160+
requiresNugets: true
161+
requiresTestSdk: true
162+
117163
templates_test_win:
118164
name: Templates Windows
119165
uses: ./.github/workflows/run-tests.yml
@@ -137,7 +183,7 @@ jobs:
137183
needs: build_packages
138184
with:
139185
testShortName: EndToEnd
140-
# EndToEnd is not run on Windows due to missing Docker support
186+
# EndToEnd is not run on Windows/macOS due to missing Docker support
141187
os: ubuntu-latest
142188
testProjectPath: tests/Aspire.EndToEnd.Tests/Aspire.EndToEnd.Tests.csproj
143189
requiresNugets: true
@@ -146,7 +192,7 @@ jobs:
146192
if: ${{ always() && github.repository_owner == 'dotnet' }}
147193
runs-on: ubuntu-latest
148194
name: Final Results
149-
needs: [ integrations_test_lin, integrations_test_win, templates_test_lin, templates_test_win, endtoend_tests ]
195+
needs: [ integrations_test_lin, integrations_test_win, integrations_test_macos, templates_test_lin, templates_test_win, templates_test_macos, endtoend_tests ]
150196
steps:
151197
# get all the test-job-result* artifacts into a single directory
152198
- uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
@@ -167,6 +213,12 @@ jobs:
167213
merge-multiple: true
168214
path: testresults/windows-latest
169215

216+
- uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
217+
with:
218+
pattern: logs-*-macos-latest
219+
merge-multiple: true
220+
path: testresults/macos-latest
221+
170222
- name: Upload test results
171223
if: always()
172224
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1

eng/QuarantinedTestRunsheetBuilder/QuarantinedTestRunsheetBuilder.targets

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@
124124
we use the project name (which looks something like "Aspire.Cli.Tests").
125125
-->
126126
<_TestRunsheet>$(MSBuildProjectName)</_TestRunsheet>
127+
<_TestRunsheetFileNameWindows>$(ArtifactsTmpDir)\$(_TestRunsheet).win.runsheet.json</_TestRunsheetFileNameWindows>
128+
<_TestRunsheetFileNameLinux>$(ArtifactsTmpDir)\$(_TestRunsheet).linux.runsheet.json</_TestRunsheetFileNameLinux>
129+
<_TestRunsheetFileNameMacOS>$(ArtifactsTmpDir)\$(_TestRunsheet).macos.runsheet.json</_TestRunsheetFileNameMacOS>
130+
127131
<_TestBinLog>$([MSBuild]::NormalizePath($(ArtifactsLogDir), '$(_TestRunsheet).binlog'))</_TestBinLog>
128132

129133
<_RelativeTestProjectPath>$([System.String]::Copy('$(MSBuildProjectFullPath)').Replace('$(RepoRoot)', '%24(pwd)/'))</_RelativeTestProjectPath>
@@ -133,41 +137,61 @@
133137
<_TestRunnerLinux>./eng/build.sh</_TestRunnerLinux>
134138
<_TestCommand>-restore -build -test -projects &quot;$(_RelativeTestProjectPath)&quot; /bl:&quot;$(_RelativeTestBinLog)&quot; -c $(Configuration) -ci /p:RunQuarantinedTests=true /p:CI=false</_TestCommand>
135139

140+
<_PreCommand>$(TestRunnerPreCommand)</_PreCommand>
141+
136142
<!--
137143
Some quarantinted test may only be executable on Windows or Linux, however we can't possibly know that at this time.
138144
The MTP runner will return exit code 8 if no tests are found, and we need to ignore it instead of failing the test.
139145
-->
140146
<_TestCommand>$(_TestCommand) /p:IgnoreZeroTestResult=true</_TestCommand>
141147

142148
<!-- Replace \ with /, and then escape " with \", so we have a compliant JSON -->
149+
<_PreCommand>$([System.String]::Copy($(_PreCommand)).Replace("\", "/").Replace('&quot;', '\&quot;'))</_PreCommand>
143150
<_TestCommand>$([System.String]::Copy($(_TestCommand)).Replace("\", "/").Replace('&quot;', '\&quot;'))</_TestCommand>
144151

145152
<_TestRunsheetWindows>{ "project": "$(_TestRunsheet)", "os": "windows-latest", "command": "./eng/build.ps1 $(_TestCommand)" }</_TestRunsheetWindows>
146-
<_TestRunsheetLinux>{ "project": "$(_TestRunsheet)", "os": "ubuntu-latest", "command": "./eng/build.sh $(_TestCommand)" }</_TestRunsheetLinux>
153+
<_TestRunsheetLinux>{ "project": "$(_TestRunsheet)", "os": "ubuntu-latest", "command": "$(_PreCommand)./eng/build.sh $(_TestCommand)" }</_TestRunsheetLinux>
154+
<_TestRunsheetMacOS>{ "project": "$(_TestRunsheet)", "os": "macos-latest", "command": "$(_PreCommand)./eng/build.sh $(_TestCommand)" }</_TestRunsheetMacOS>
147155
</PropertyGroup>
148156

157+
<ItemGroup>
158+
<_OutputFiles Include="$(_TestRunsheetFileNameWindows)" />
159+
<_OutputFiles Include="$(_TestRunsheetFileNameLinux)" />
160+
<_OutputFiles Include="$(_TestRunsheetFileNameMacOS)" />
161+
</ItemGroup>
162+
163+
<MakeDir Directories="@(_OutputFiles->'%(RootDir)%(Directory)')"/>
164+
<Delete Files="@(_OutputFiles)" />
165+
149166
<WriteLinesToFile
150167
Condition=" '$(RunOnGithubActionsWindows)' == 'true' and '$(_HasQuarantinedTests)' == 'true'"
151-
File="$(ArtifactsTmpDir)/$(_TestRunsheet).win.runsheet.json"
168+
File="$(_TestRunsheetFileNameWindows)"
152169
Lines="$(_TestRunsheetWindows)"
153170
Overwrite="true"
154171
WriteOnlyWhenDifferent="true" />
155-
156172
<WriteLinesToFile
157173
Condition=" '$(RunOnGithubActionsLinux)' == 'true' and '$(_HasQuarantinedTests)' == 'true' "
158-
File="$(ArtifactsTmpDir)/$(_TestRunsheet).linux.runsheet.json"
174+
File="$(_TestRunsheetFileNameLinux)"
159175
Lines="$(_TestRunsheetLinux)"
160176
Overwrite="true"
161177
WriteOnlyWhenDifferent="true" />
178+
<WriteLinesToFile
179+
Condition=" '$(RunOnGithubActionsMacOS)' == 'true' and '$(_HasQuarantinedTests)' == 'true' "
180+
File="$(_TestRunsheetFileNameMacOS)"
181+
Lines="$(_TestRunsheetMacOS)"
182+
Overwrite="true"
183+
WriteOnlyWhenDifferent="true" />
162184

163185
<!--
164186
On Linux there's a bug in MSBuild, which "normalises" all slashes (see https://github.com/dotnet/msbuild/issues/3468).
165187
This is a workaround to replace `/"` with the required `\"`.
166188
-->
167-
<Exec Command="pwsh -Command &quot;(Get-Content -Path '$(ArtifactsTmpDir)/$(_TestRunsheet).win.runsheet.json') -replace '/\&quot;', '\\\&quot;' | Set-Content -Path '$(ArtifactsTmpDir)/$(_TestRunsheet).win.runsheet.json'&quot; "
168-
Condition=" '$(RunOnGithubActionsWindows)' == 'true' and '$(_HasQuarantinedTests)' == 'true' and '$(BuildOs)' != 'windows' " />
169-
<Exec Command="pwsh -Command &quot;(Get-Content -Path '$(ArtifactsTmpDir)/$(_TestRunsheet).linux.runsheet.json') -replace '/\&quot;', '\\\&quot;' | Set-Content -Path '$(ArtifactsTmpDir)/$(_TestRunsheet).linux.runsheet.json'&quot; "
170-
Condition=" '$(RunOnGithubActionsLinux)' == 'true' and '$(_HasQuarantinedTests)' == 'true' and '$(BuildOs)' != 'windows' " />
189+
<Exec Command="pwsh -Command &quot;(Get-Content -Path '$(_TestRunsheetFileNameWindows)') -replace '/\&quot;', '\\\&quot;' | Set-Content -Path '$(_TestRunsheetFileNameWindows)'&quot; "
190+
Condition=" Exists('$(_TestRunsheetFileNameWindows)') and '$(BuildOs)' != 'windows' " />
191+
<Exec Command="pwsh -Command &quot;(Get-Content -Path '$(_TestRunsheetFileNameLinux)') -replace '/\&quot;', '\\\&quot;' | Set-Content -Path '$(_TestRunsheetFileNameLinux)'&quot; "
192+
Condition=" Exists('$(_TestRunsheetFileNameLinux)') and '$(BuildOs)' != 'windows' " />
193+
<Exec Command="pwsh -Command &quot;(Get-Content -Path '$(_TestRunsheetFileNameMacOS)') -replace '/\&quot;', '\\\&quot;' | Set-Content -Path '$(_TestRunsheetFileNameMacOS)'&quot; "
194+
Condition=" Exists('$(_TestRunsheetFileNameMacOS)') and '$(BuildOs)' != 'windows' " />
171195

172196
<!--
173197
The final piece of the puzzle is in eng/AfterSolutionBuild.targets, where we combine the runsheets from all the test projects into a single runsheet.

eng/TestRunsheetBuilder/TestRunsheetBuilder.targets

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
<_TestRunsheet>$(MSBuildProjectName)</_TestRunsheet>
5454
<_TestRunsheetFileNameWindows>$(ArtifactsTmpDir)\$(_TestRunsheet).win.runsheet.json</_TestRunsheetFileNameWindows>
5555
<_TestRunsheetFileNameLinux>$(ArtifactsTmpDir)\$(_TestRunsheet).linux.runsheet.json</_TestRunsheetFileNameLinux>
56+
<_TestRunsheetFileNameMacOS>$(ArtifactsTmpDir)\$(_TestRunsheet).macos.runsheet.json</_TestRunsheetFileNameMacOS>
5657

5758
<_TestBinLog>$([MSBuild]::NormalizePath($(ArtifactsLogDir), '$(_TestRunsheet).binlog'))</_TestBinLog>
5859

@@ -72,11 +73,13 @@
7273

7374
<_TestRunsheetWindows>{ "project": "$(_TestRunsheet)", "os": "windows-latest", "command": "./eng/build.ps1 $(_TestCommand)" }</_TestRunsheetWindows>
7475
<_TestRunsheetLinux>{ "project": "$(_TestRunsheet)", "os": "ubuntu-latest", "command": "$(_PreCommand)./eng/build.sh $(_TestCommand)" }</_TestRunsheetLinux>
76+
<_TestRunsheetMacOS>{ "project": "$(_TestRunsheet)", "os": "macos-latest", "command": "$(_PreCommand)./eng/build.sh $(_TestCommand)" }</_TestRunsheetMacOS>
7577
</PropertyGroup>
7678

7779
<ItemGroup>
7880
<_OutputFiles Include="$(_TestRunsheetFileNameWindows)" />
7981
<_OutputFiles Include="$(_TestRunsheetFileNameLinux)" />
82+
<_OutputFiles Include="$(_TestRunsheetFileNameMacOS)" />
8083
</ItemGroup>
8184

8285
<MakeDir Directories="@(_OutputFiles->'%(RootDir)%(Directory)')"/>
@@ -94,6 +97,12 @@
9497
Lines="$(_TestRunsheetLinux)"
9598
Overwrite="true"
9699
WriteOnlyWhenDifferent="true" />
100+
<WriteLinesToFile
101+
Condition=" '$(RunOnGithubActionsMacOS)' == 'true' and '$(_CreateRunsheet)' == 'true' "
102+
File="$(_TestRunsheetFileNameMacOS)"
103+
Lines="$(_TestRunsheetMacOS)"
104+
Overwrite="true"
105+
WriteOnlyWhenDifferent="true" />
97106

98107
<!--
99108
On Linux there's a bug in MSBuild, which "normalises" all slashes (see https://github.com/dotnet/msbuild/issues/3468).
@@ -103,6 +112,8 @@
103112
Condition=" Exists('$(_TestRunsheetFileNameWindows)') and '$(BuildOs)' != 'windows' " />
104113
<Exec Command="pwsh -Command &quot;(Get-Content -Path '$(_TestRunsheetFileNameLinux)') -replace '/\&quot;', '\\\&quot;' | Set-Content -Path '$(_TestRunsheetFileNameLinux)'&quot; "
105114
Condition=" Exists('$(_TestRunsheetFileNameLinux)') and '$(BuildOs)' != 'windows' " />
115+
<Exec Command="pwsh -Command &quot;(Get-Content -Path '$(_TestRunsheetFileNameMacOS)') -replace '/\&quot;', '\\\&quot;' | Set-Content -Path '$(_TestRunsheetFileNameMacOS)'&quot; "
116+
Condition=" Exists('$(_TestRunsheetFileNameMacOS)') and '$(BuildOs)' != 'windows' " />
106117

107118
<!--
108119
The final piece of the puzzle is in eng/AfterSolutionBuild.targets, where we combine the runsheets from all the test projects into a single runsheet.

eng/Testing.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<!-- By default any test can run on all test platforms -->
66
<RunOnGithubActionsWindows>true</RunOnGithubActionsWindows>
77
<RunOnGithubActionsLinux>true</RunOnGithubActionsLinux>
8+
<RunOnGithubActionsMacOS>true</RunOnGithubActionsMacOS>
89
<RunOnAzdoCIWindows>true</RunOnAzdoCIWindows>
910
<RunOnAzdoCILinux>true</RunOnAzdoCILinux>
1011
<RunOnAzdoHelixWindows>true</RunOnAzdoHelixWindows>

eng/Testing.targets

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@
1111
- IncludeTestUtilities: indicates whether the test project must not include the TestUtilities project reference; default is false; overridable.
1212
1313
Project requirements:
14-
- RunOnGithubActions: indicates whether tests should run on GitHub Actions (either Windows or Linux); computed.
14+
- RunOnGithubActions: indicates whether tests should run on GitHub Actions (either Windows or Linux or macOS); computed.
1515
- RunOnGithubActionsWindows: indicates whether tests should run on Windows in GitHub Actions; default is true; overridable.
16+
- RunOnGithubActionsMacOS: indicates whether tests should run on MacOS in GitHub Actions; default is true; overridable.
1617
- RunOnGithubActionsLinux: indicates whether tests should run on Linux in GitHub Actions; default is true; overridable.
1718
- RunOnAzdoCI: indicates whether tests should run on Azure DevOps (either Windows or Linux); always false, if RunOnAzdoHelix=true; computed.
1819
- RunOnAzdoCIWindows: indicates whether tests should run on Windows in Azure DevOps; default is true; overridable.
@@ -42,7 +43,7 @@
4243

4344
<PropertyGroup>
4445
<RunOnGithubActions>false</RunOnGithubActions>
45-
<RunOnGithubActions Condition=" '$(RunOnGithubActionsWindows)' == 'true' or '$(RunOnGithubActionsLinux)' == 'true' ">true</RunOnGithubActions>
46+
<RunOnGithubActions Condition=" '$(RunOnGithubActionsWindows)' == 'true' or '$(RunOnGithubActionsLinux)' == 'true' or '$(RunOnGithubActionsMacOS)' == 'true' ">true</RunOnGithubActions>
4647

4748
<RunOnAzdoHelix>false</RunOnAzdoHelix>
4849
<RunOnAzdoHelix Condition=" '$(RunOnAzdoHelixWindows)' == 'true' or '$(RunOnAzdoHelixLinux)' == 'true' ">true</RunOnAzdoHelix>
@@ -90,7 +91,7 @@
9091
<_Runner Include=" - GitHub Actions: $(_IsGitHubActionsRunner)" />
9192
<_Runner Include=" - Azure DevOps: $(_IsAzdoCIRunner)" />
9293
<_Runner Include=" - Helix: $(_IsAzdoHelixRunner)" />
93-
<_Requirement Include=" - GitHub Actions: $(RunOnGithubActions) (Windows: $(RunOnGithubActionsWindows) / Linux: $(RunOnGithubActionsLinux))" />
94+
<_Requirement Include=" - GitHub Actions: $(RunOnGithubActions) (Windows: $(RunOnGithubActionsWindows) / Linux: $(RunOnGithubActionsLinux) / MacOS: $(RunOnGithubActionsMacOS))" />
9495
<_Requirement Include=" - Azure DevOps: $(RunOnAzdoCI) (Windows: $(RunOnAzdoCIWindows) / Linux: $(RunOnAzdoCILinux))" />
9596
<_Requirement Include=" - Helix: $(RunOnAzdoHelix) (Windows: $(RunOnAzdoHelixWindows) / Linux: $(RunOnAzdoHelixLinux))" />
9697
</ItemGroup>

tests/Aspire.Dashboard.Tests/FormatHelpersTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Globalization;
55
using Aspire.Dashboard.Model;
66
using Aspire.Dashboard.Utils;
7+
using Aspire.TestUtilities;
78
using Microsoft.Extensions.Logging.Abstractions;
89
using Xunit;
910

@@ -75,6 +76,7 @@ public void FormatDateTime_WithMilliseconds_FinnishCulture(string expected, Mill
7576
[InlineData("15/06/2009 1:45:30.1234567 pm", MillisecondsDisplay.Full, "2009-06-15T13:45:30.1234567Z")]
7677
[InlineData("15/06/2009 1:45:30 pm", MillisecondsDisplay.None, "2009-06-15T13:45:30.0000000Z")]
7778
[InlineData("15/06/2009 1:45:30 pm", MillisecondsDisplay.None, "2009-06-15T13:45:30.1234567Z")]
79+
[ActiveIssue("https://github.com/dotnet/aspire/issues/9151", typeof(PlatformDetection), nameof(PlatformDetection.IsMacOS))]
7880
public void FormatDateTime_WithMilliseconds_NewZealandCulture(string expected, MillisecondsDisplay includeMilliseconds, string value)
7981
{
8082
var date = GetLocalDateTime(value);

tests/Aspire.Dashboard.Tests/Integration/Playwright/AppBarTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ await AsyncTestHelpers.AssertIsTrueRetryAsync(
6565
}
6666

6767
[Fact]
68+
[ActiveIssue("https://github.com/dotnet/aspire/issues/9152", typeof(PlatformDetection), nameof(PlatformDetection.IsMacOS))]
6869
public async Task AppBar_Change_Theme_ReloadPage()
6970
{
7071
// Arrange

0 commit comments

Comments
 (0)