1212 skipFilter :
1313 required : false
1414 type : string
15- runConfigServer :
15+ runDockerContainers :
1616 required : false
1717 type : boolean
1818 default : false
@@ -24,14 +24,10 @@ permissions:
2424env :
2525 DOTNET_CLI_TELEMETRY_OPTOUT : 1
2626 DOTNET_NOLOGO : true
27- SOLUTION_FILE : src/Steeltoe.${{ inputs.component }}.slnf
27+ SOLUTION_FILE : ' src/Steeltoe.${{ inputs.component }}.slnf'
2828 COMMON_TEST_ARGS : >-
2929 --no-build --configuration Release --collect "XPlat Code Coverage" --logger trx --results-directory ${{ github.workspace }}/dumps
3030 --settings coverlet.runsettings --blame-crash --blame-hang-timeout 3m
31- SKIP_FILTER_NO_MEMORY_DUMPS : >-
32- ${{ inputs.skipFilter && format('--filter "{0}&Category!=MemoryDumps"', inputs.skipFilter) || '--filter "Category!=MemoryDumps"' }}
33- SKIP_FILTER_WITH_MEMORY_DUMPS : >-
34- ${{ inputs.skipFilter && format('--filter "{0}&Category=MemoryDumps"', inputs.skipFilter) || '--filter "Category=MemoryDumps"' }}
3531
3632jobs :
3733 build :
@@ -41,11 +37,11 @@ jobs:
4137
4238 services :
4339 eurekaServer :
44- image : ${{ inputs.runConfigServer && 'steeltoe.azurecr.io/eureka-server' || null }}
40+ image : ${{ inputs.runDockerContainers && 'steeltoe.azurecr.io/eureka-server' || null }}
4541 ports :
4642 - 8761:8761
4743 configServer :
48- image : ${{ inputs.runConfigServer && 'steeltoe.azurecr.io/config-server' || null }}
44+ image : ${{ inputs.runDockerContainers && 'steeltoe.azurecr.io/config-server' || null }}
4945 env :
5046 eureka.client.enabled : true
5147 eureka.client.serviceUrl.defaultZone : http://eurekaServer:8761/eureka
7167 # When that happens, select 'Always Allow' to grant 'dotnet' access to the certificate key in the future.
7268 # and the test run fails, but without indicating which test caused it. By setting this, the causing test fails with the next message:
7369 # Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found or is out of date.
74- # To prevent the causing test from failing the test run, disable it on macOS by adding [Trait("Category", "SkipOnMacOS")] .
70+ # To prevent the causing test from failing the test run, disable it on macOS using SkipOnPlatformFact/Theory .
7571 shell : bash
7672 run : echo "DOTNET_GENERATE_ASPNET_CERTIFICATE=false" >> $GITHUB_ENV
7773
@@ -86,33 +82,38 @@ jobs:
8682 - name : Build solution
8783 run : dotnet build ${{ env.SOLUTION_FILE }} --no-restore --configuration Release --verbosity minimal
8884
85+ - name : Set skip filters for tests
86+ shell : bash
87+ run : |
88+ echo SKIP_FILTER_NO_MEMORY_DUMPS="${{ inputs.skipFilter && format('{0}&Category!=MemoryDumps', inputs.skipFilter) || 'Category!=MemoryDumps' }}" >> $GITHUB_ENV
89+ echo SKIP_FILTER_WITH_MEMORY_DUMPS="${{ inputs.skipFilter && format('{0}&Category=MemoryDumps', inputs.skipFilter) || 'Category=MemoryDumps' }}" >> $GITHUB_ENV
90+
8991 - name : Test (net10.0)
90- run : dotnet test ${{ env.SOLUTION_FILE }} --framework net10.0 ${{ env.SKIP_FILTER_NO_MEMORY_DUMPS }} ${{ env.COMMON_TEST_ARGS }}
92+ run : dotnet test ${{ env.SOLUTION_FILE }} --framework net10.0 --filter " ${{ env.SKIP_FILTER_NO_MEMORY_DUMPS }}" ${{ env.COMMON_TEST_ARGS }}
9193
9294 - name : Test (net10.0) (memory dumps)
9395 if : ${{ inputs.component == 'Management' }}
94- run : dotnet test ${{ env.SOLUTION_FILE }} --framework net10.0 ${{ env.SKIP_FILTER_WITH_MEMORY_DUMPS }} ${{ env.COMMON_TEST_ARGS }}
96+ run : dotnet test ${{ env.SOLUTION_FILE }} --framework net10.0 --filter " ${{ env.SKIP_FILTER_WITH_MEMORY_DUMPS }}" ${{ env.COMMON_TEST_ARGS }}
9597
9698 - name : Test (net9.0)
97- run : dotnet test ${{ env.SOLUTION_FILE }} --framework net9.0 ${{ env.SKIP_FILTER_NO_MEMORY_DUMPS }} ${{ env.COMMON_TEST_ARGS }}
99+ run : dotnet test ${{ env.SOLUTION_FILE }} --framework net9.0 --filter " ${{ env.SKIP_FILTER_NO_MEMORY_DUMPS }}" ${{ env.COMMON_TEST_ARGS }}
98100
99101 - name : Test (net9.0) (memory dumps)
100102 if : ${{ inputs.component == 'Management' }}
101- run : dotnet test ${{ env.SOLUTION_FILE }} --framework net9.0 ${{ env.SKIP_FILTER_WITH_MEMORY_DUMPS }} ${{ env.COMMON_TEST_ARGS }}
103+ run : dotnet test ${{ env.SOLUTION_FILE }} --framework net9.0 --filter " ${{ env.SKIP_FILTER_WITH_MEMORY_DUMPS }}" ${{ env.COMMON_TEST_ARGS }}
102104
103105 - name : Test (net8.0)
104- run : dotnet test ${{ env.SOLUTION_FILE }} --framework net8.0 ${{ env.SKIP_FILTER_NO_MEMORY_DUMPS }} ${{ env.COMMON_TEST_ARGS }}
106+ run : dotnet test ${{ env.SOLUTION_FILE }} --framework net8.0 --filter " ${{ env.SKIP_FILTER_NO_MEMORY_DUMPS }}" ${{ env.COMMON_TEST_ARGS }}
105107
106108 - name : Test (net8.0) (memory dumps)
107109 if : ${{ inputs.component == 'Management' }}
108- run : dotnet test ${{ env.SOLUTION_FILE }} --framework net8.0 ${{ env.SKIP_FILTER_WITH_MEMORY_DUMPS }} ${{ env.COMMON_TEST_ARGS }}
109-
110+ run : dotnet test ${{ env.SOLUTION_FILE }} --framework net8.0 --filter "${{ env.SKIP_FILTER_WITH_MEMORY_DUMPS }}" ${{ env.COMMON_TEST_ARGS }}
110111
111112 - name : Upload crash/hang dumps (on failure)
112113 if : ${{ failure() }}
113114 uses : actions/upload-artifact@v5
114115 with :
115- name : FailedTestOutput-${{ inputs.OS }}
116+ name : FailedTestOutput-${{ inputs.OS }}-latest
116117 path : |
117118 ${{ github.workspace }}/dumps/**/*.dmp
118119 ${{ github.workspace }}/dumps/**/Sequence_*.xml
@@ -122,7 +123,7 @@ jobs:
122123 if : ${{ !cancelled() }}
123124 uses : dorny/test-reporter@v2
124125 with :
125- name : ${{ inputs.OS }} test results
126+ name : ${{ inputs.OS }}-latest test results
126127 reporter : dotnet-trx
127128 path : ' **/*.trx'
128129 fail-on-empty : ' true'
0 commit comments