Skip to content

Commit 5670297

Browse files
committed
Add runtime-community.yml pipeline and add s390x job
1 parent 2880cc1 commit 5670297

File tree

4 files changed

+112
-0
lines changed

4 files changed

+112
-0
lines changed

eng/pipelines/common/platform-matrix.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,32 @@ jobs:
209209
${{ insert }}: ${{ parameters.jobParameters }}
210210
buildingOnSourceBuildImage: true
211211

212+
# Linux s390x
213+
214+
- ${{ if or(containsValue(parameters.platforms, 'Linux_s390x'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
215+
- template: xplat-setup.yml
216+
parameters:
217+
jobTemplate: ${{ parameters.jobTemplate }}
218+
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
219+
variables: ${{ parameters.variables }}
220+
osGroup: Linux
221+
archType: s390x
222+
targetRid: linux-s390x
223+
platform: Linux_s390x
224+
container:
225+
image: ubuntu-18.04-cross-s390x-20201102145728-d6e0352
226+
registry: mcr
227+
jobParameters:
228+
runtimeFlavor: ${{ parameters.runtimeFlavor }}
229+
stagedBuild: ${{ parameters.stagedBuild }}
230+
buildConfig: ${{ parameters.buildConfig }}
231+
${{ if eq(parameters.passPlatforms, true) }}:
232+
platforms: ${{ parameters.platforms }}
233+
helixQueueGroup: ${{ parameters.helixQueueGroup }}
234+
crossBuild: true
235+
crossrootfsDir: '/crossrootfs/s390x'
236+
${{ insert }}: ${{ parameters.jobParameters }}
237+
212238
# WebAssembly
213239

214240
- ${{ if containsValue(parameters.platforms, 'Browser_wasm') }}:

eng/pipelines/libraries/helix-queues-setup.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ jobs:
8282
# Limiting interp runs as we don't need as much coverage.
8383
- (Debian.10.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:debian-10-helix-amd64-20210304164434-56c6673
8484

85+
# Linux s390x
86+
- ${{ if eq(parameters.platform, 'Linux_s390x') }}:
87+
- Ubuntu.2004.S390X.Experimental.Open
88+
8589
# OSX arm64
8690
- ${{ if eq(parameters.platform, 'OSX_arm64') }}:
8791
- OSX.1100.ARM64.Open
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
schedules:
2+
- cron: "0 7,19 * * *" # run at 7:00 and 19:00 (UTC) which is 23:00 and 11:00 (PST).
3+
displayName: Runtime-community default schedule
4+
branches:
5+
include:
6+
- main
7+
always: false # run only if there were changes since the last successful scheduled run.
8+
9+
pr:
10+
branches:
11+
include:
12+
- main
13+
- release/*.*
14+
paths:
15+
include:
16+
- '*'
17+
- docs/manpages/*
18+
exclude:
19+
- eng/Version.Details.xml
20+
- .github/*
21+
- docs/*
22+
- CODE-OF-CONDUCT.md
23+
- CONTRIBUTING.md
24+
- LICENSE.TXT
25+
- PATENTS.TXT
26+
- README.md
27+
- SECURITY.md
28+
- THIRD-PARTY-NOTICES.TXT
29+
30+
variables:
31+
- template: /eng/pipelines/common/variables.yml
32+
33+
jobs:
34+
#
35+
# Evaluate paths
36+
#
37+
- ${{ if eq(variables.dependOnEvaluatePaths, true) }}:
38+
- template: /eng/pipelines/common/evaluate-default-paths.yml
39+
40+
#
41+
# s390x
42+
# Build the whole product using Mono and run libraries tests
43+
#
44+
- template: /eng/pipelines/common/platform-matrix.yml
45+
parameters:
46+
jobTemplate: /eng/pipelines/common/global-build-job.yml
47+
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
48+
buildConfig: Release
49+
runtimeFlavor: mono
50+
platforms:
51+
- Linux_s390x
52+
variables:
53+
# map dependencies variables to local variables
54+
- name: librariesContainsChange
55+
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ]
56+
- name: monoContainsChange
57+
value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ]
58+
jobParameters:
59+
testGroup: innerloop
60+
nameSuffix: AllSubsets_Mono
61+
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true
62+
timeoutInMinutes: 180
63+
condition: >-
64+
or(
65+
eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true),
66+
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
67+
eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true),
68+
eq(variables['isFullMatrix'], true))
69+
# extra steps, run tests
70+
extraStepsTemplate: /eng/pipelines/libraries/helix.yml
71+
extraStepsParameters:
72+
creator: dotnet-bot
73+
testRunNamePrefixSuffix: Mono_$(_BuildConfig)
74+
condition: >-
75+
or(
76+
eq(variables['librariesContainsChange'], true),
77+
eq(variables['monoContainsChange'], true),
78+
eq(variables['isFullMatrix'], true))

src/libraries/tests.proj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,10 @@
258258
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Security.Cryptography.OpenSsl/tests/System.Security.Cryptography.OpenSsl.Tests.csproj" />
259259
</ItemGroup>
260260

261+
<ItemGroup Condition="'$(TargetArchitecture)' == 's390x' and '$(RunDisableds390xTests)' != 'true'">
262+
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Drawing.Common\tests\System.Drawing.Common.Tests.csproj" />
263+
</ItemGroup>
264+
261265
<ItemGroup Condition="'$(TestSingleFile)' == 'true'">
262266
<!-- Run only a small randomly chosen set of passing test suites -->
263267
<ProjectExclusions Include="$(MSBuildThisFileDirectory)*\tests\**\*.Tests.csproj" />

0 commit comments

Comments
 (0)