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 - name : Checkout code
152198 uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -170,6 +216,12 @@ jobs:
170216 merge-multiple : true
171217 path : ${{ github.workspace }}/testresults/windows-latest
172218
219+ - uses : actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
220+ with :
221+ pattern : logs-*-macos-latest
222+ merge-multiple : true
223+ path : testresults/macos-latest
224+
173225 - name : Upload test results
174226 if : always()
175227 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
0 commit comments