Refactor common variables used for the "send runtime tests to helix" steps into a shared template that all of our pipelines that run runtime tests can use.#81926
Conversation
…steps into a shared template that all of our pipelines that run runtime tests can use.
|
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
… before any MSBuild properties
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure Issue DetailsThis will help us be able to be more consistent with our variables by giving us a place to centralize variables we use in the split-job Extracted from #81924
|
… MSBuild properties
| # example: | ||
| # - [key]: [value] | ||
| - ${{ if and(eq(variable.name, ''), eq(variable.group, '')) }}: | ||
| - ${{ if and(eq(variable.name, ''), eq(variable.group, ''), eq(variable.template, '')) }}: |
There was a problem hiding this comment.
This is an eng/common file which needs to be updated in Arcade: https://github.com/dotnet/arcade/blob/b888df17a4acb65630c1e9ad5e94f22a33b62ab0/eng/common/templates/job/job.yml#L104
| extraVariablesTemplates: | ||
| - template: /eng/pipelines/common/templates/runtimes/test-variables.yml | ||
| forwardedParameters: | ||
| - osGroup | ||
| - osSubgroup | ||
| - runtimeFlavor | ||
| - runtimeVariant |
There was a problem hiding this comment.
Is there a way to avoid this added noise? I see that this is now added to every runtime tests build leg. Can't the build-runtime-tests-and-send-to-helix.yml have this attached?
There was a problem hiding this comment.
I'll try to figure out a way to make this less noisy.
There was a problem hiding this comment.
I tried to attach it to build-runtime-tests-and-send-to-helix.yml, but I couldn't get it to work.
The problem is that variables in YAML are a job level concept, but we're trying to add extra variables for a specific step. We can make the extra variables templates have the same parameters passed as the extra steps templates, but it doesn't look like we can attach variables to a step template unless we make our "extra steps" templates into job templates that wrap the global-build-job template, which I don't like.
There was a problem hiding this comment.
I've done the simplification I can (inline the most common "forwarded parameters" so we don't need to manually forward the common ones), but I can't do any more as you can't templatize what type of template a file is.
|
Windows failure is #82140. |
|
@dotnet/runtime-infrastructure can you please take a look? Asking as I don't have any cycles right now. |
| extraStepsParameters: | ||
| creator: dotnet-bot | ||
| testBuildArgs: nativeaot tree nativeaot | ||
| liveLibrariesBuildConfig: Release |
There was a problem hiding this comment.
It looks like this code is passing -lc Release above. How does the liveLibrariesBuildConfig setting affect this?
There was a problem hiding this comment.
The liveLibrariesBuildConfig for the extra steps template needs to match whatever is passed for the -lc parameter above if the libraries are built different than the runtime. The nativeaot-post-build-steps.yml template assumes that the passed in $(_BuildConfig) was used to build the runtime.
|
Test failure is known and this change doesn't affect the build leg that timed out. |
This will help us be able to be more consistent with our variables by giving us a place to centralize variables we use in the split-job
run-test-job.ymlmodel and the single-jobbuild-runtime-tests-and-send-to-helix.ymlmodel.Extracted from #81924