Skip to content

Commit

Permalink
Move dotnet version to hardcoded version to workaround TFM change (do…
Browse files Browse the repository at this point in the history
…tnet#44224)

* Move dotnet version to hardcoded version to workaround TFM change

* Change 'windows' -> 'Windows_NT'

* Move osGroup checks back to 'windows'

* Update scenario yml

* Add crossgen path for SoD tests
  • Loading branch information
DrewScoggins committed Nov 5, 2020
1 parent d291c6c commit 7bdfae8
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 20 deletions.
10 changes: 5 additions & 5 deletions eng/common/performance/crossgen_perf.proj
Original file line number Diff line number Diff line change
Expand Up @@ -68,18 +68,18 @@
<ItemGroup>
<CrossgenSizeOnDiskWorkItem Include="@(SingleAssembly)" Condition="'$(Architecture)' == 'x64'">
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
<PreCommands>$(Python) pre.py crossgen --core-root $(CoreRoot) --single %(Identity) </PreCommands>
<Command>$(Python) test.py sod --scenario-name &quot;Crossgen %(Identity) Size&quot; --dirs ./crossgen/</Command>
<PostCommands>$(Python) post.py</PostCommands>
<PreCommands>$(Python) $(CrossgenDirectory)pre.py crossgen --core-root $(CoreRoot) --single %(Identity) </PreCommands>
<Command>$(Python) $(CrossgenDirectory)test.py sod --scenario-name &quot;Crossgen %(Identity) Size&quot; --dirs ./crossgen/</Command>
<PostCommands>$(Python) $(CrossgenDirectory)post.py</PostCommands>
</CrossgenSizeOnDiskWorkItem>
</ItemGroup>

<ItemGroup>
<Crossgen2SizeOnDiskWorkItem Include="@(SingleAssembly)" Condition="'$(Architecture)' == 'x64'">
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
<PreCommands>$(Python) $(Crossgen2Directory)pre.py crossgen2 --core-root $(CoreRoot) --single %(Identity) </PreCommands>
<Command>$(Python) test.py sod --scenario-name &quot;Crossgen2 %(Identity) Size&quot; --dirs ./crossgen/</Command>
<PostCommands>$(Python) post.py</PostCommands>
<Command>$(Python) $(Crossgen2Directory)test.py sod --scenario-name &quot;Crossgen2 %(Identity) Size&quot; --dirs ./crossgen/</Command>
<PostCommands>$(Python) $(Crossgen2Directory)post.py</PostCommands>
</Crossgen2SizeOnDiskWorkItem>
</ItemGroup>

Expand Down
4 changes: 3 additions & 1 deletion eng/common/performance/performance-setup.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,9 @@ $SetupArguments = "--repository https://github.com/$Repository --branch $Branch
#This grabs the LKG version number of dotnet and passes it to our scripts
$VersionJSON = Get-Content global.json | ConvertFrom-Json
$DotNetVersion = $VersionJSON.tools.dotnet
$SetupArguments = "--dotnet-versions $DotNetVersion $SetupArguments"
# TODO: Change this back to parsing when we have a good story for dealing with TFM changes or when the LKG in runtime gets updated to include net6.0
# $SetupArguments = "--dotnet-versions $DotNetVersion $SetupArguments"
$SetupArguments = "--dotnet-versions 6.0.100-alpha.1.20553.6 $SetupArguments"


if ($RunFromPerformanceRepo) {
Expand Down
4 changes: 3 additions & 1 deletion eng/common/performance/performance-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,9 @@ if [[ "$use_latest_dotnet" = false ]]; then
# Get the tools section from the global.json.
# This grabs the LKG version number of dotnet and passes it to our scripts
dotnet_version=`cat global.json | python3 -c 'import json,sys;obj=json.load(sys.stdin);print(obj["tools"]["dotnet"])'`
setup_arguments="--dotnet-versions $dotnet_version $setup_arguments"
# TODO: Change this back to parsing when we have a good story for dealing with TFM changes or when the LKG in runtime gets updated to include net6.0
# setup_arguments="--dotnet-versions $dotnet_version $setup_arguments"
setup_arguments="--dotnet-versions 6.0.100-alpha.1.20553.6 $setup_arguments"
fi

if [[ "$run_from_perf_repo" = true ]]; then
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ trigger:
- SECURITY.md
- THIRD-PARTY-NOTICES.TXT

pr: none
#pr: none

jobs:
#
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/coreclr/templates/run-performance-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,11 +107,11 @@ jobs:
- ${{ parameters.steps }}
- powershell: $(Build.SourcesDirectory)\eng\common\performance\performance-setup.ps1 $(IsInternal)$(Interpreter) -Framework $(_Framework) -Kind ${{ parameters.runKind }} ${{ parameters.extraSetupParameters }}
displayName: Performance Setup (Windows)
condition: and(succeeded(), eq(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }}
- script: $(Build.SourcesDirectory)/eng/common/performance/performance-setup.sh $(IsInternal)$(Interpreter) --framework $(_Framework) --kind ${{ parameters.runKind }} ${{ parameters.extraSetupParameters }}
displayName: Performance Setup (Unix)
condition: and(succeeded(), ne(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }}
- script: $(Python) $(PerformanceDirectory)/scripts/ci_setup.py $(SetupArguments)
displayName: Run ci setup script
Expand Down
20 changes: 10 additions & 10 deletions eng/pipelines/coreclr/templates/run-scenarios-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,11 @@ jobs:
# run performance-setup
- powershell: $(Build.SourcesDirectory)\eng\common\performance\performance-setup.ps1 $(IsInternal) -Framework $(_Framework) -Kind ${{ parameters.runKind }} ${{ parameters.extraSetupParameters }} ${{ parameters.additionalSetupParameters }}
displayName: Performance Setup (Windows)
condition: and(succeeded(), eq(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }}
- script: $(Build.SourcesDirectory)/eng/common/performance/performance-setup.sh $(IsInternal) --framework $(_Framework) --kind ${{ parameters.runKind }} ${{ parameters.extraSetupParameters }} ${{ parameters.additionalSetupParameters }}
displayName: Performance Setup (Linux)
condition: and(succeeded(), ne(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }}
# parse Version.props to get the latest stable sdk version on master
- script: $(Python) scripts/parse_props.py --branch-name master # defaults to master branch of sdk so we can get the latest
Expand All @@ -100,43 +100,43 @@ jobs:
# run ci-setup
- script: $(Python) $(PerformanceDirectory)\scripts\ci_setup.py $(DotnetVersion) $(SetupArguments) --install-dir $(PayloadDirectory)\dotnet --output-file $(WorkItemDirectory)\machine-setup.cmd
displayName: Run ci setup script (Windows)
condition: and(succeeded(), eq(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
- script: $(Python) $(PerformanceDirectory)/scripts/ci_setup.py $(DotnetVersion) $(SetupArguments) --install-dir $(PayloadDirectory)/dotnet --output-file $(WorkItemDirectory)/machine-setup.sh
displayName: Run ci setup script (Linux)
condition: and(succeeded(), ne(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
# copy wasm packs if running on wasm
- script: cp -r $(librariesDownloadDir)/BrowserWasm/artifacts/bin/microsoft.netcore.app.runtime.browser-wasm $(PayloadDirectory);cp -r $(librariesDownloadDir)/BrowserWasm/artifacts/bin/microsoft.netcore.app.ref $(PayloadDirectory)
displayName: Copy browserwasm and runtime ref packs
condition: and(succeeded(), eq('${{ parameters.runtimeType }}', 'wasm'))
# copy scenario support files
- script: xcopy $(PerformanceDirectory)\scripts $(WorkItemDirectory)\scripts\/e && xcopy $(PerformanceDirectory)\src\scenarios\shared $(WorkItemDirectory)\shared\/e && xcopy $(PerformanceDirectory)\src\scenarios\staticdeps $(WorkItemDirectory)\staticdeps\/e
displayName: Copy scenario support files (Windows)
condition: and(succeeded(), eq(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
- script: cp -r $(PerformanceDirectory)/scripts $(WorkItemDirectory)/scripts/ && cp -r $(PerformanceDirectory)/src/scenarios/shared $(WorkItemDirectory)/shared/ && cp -r $(PerformanceDirectory)/src/scenarios/staticdeps/ $(WorkItemDirectory)/staticdeps/
displayName: Copy scenario support files (Linux)
condition: and(succeeded(), ne(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
# build Startup
- script: $(PayloadDirectory)\dotnet\dotnet.exe publish -c Release -o $(WorkItemDirectory)\Startup -f netcoreapp3.1 -r win-$(Architecture) $(PerformanceDirectory)\src\tools\ScenarioMeasurement\Startup\Startup.csproj
displayName: Build Startup tool (Windows)
env:
PERFLAB_TARGET_FRAMEWORKS: netcoreapp3.1
condition: and(succeeded(), eq(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/startup -f netcoreapp3.1 -r linux-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/Startup/Startup.csproj
displayName: Build Startup tool (Linux)
env:
PERFLAB_TARGET_FRAMEWORKS: netcoreapp3.1
condition: and(succeeded(), ne(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
# build SizeOnDisk
- script: $(PayloadDirectory)\dotnet\dotnet.exe publish -c Release -o $(WorkItemDirectory)SOD -f netcoreapp3.1 -r win-$(Architecture) $(PerformanceDirectory)\src\tools\ScenarioMeasurement\SizeOnDisk\SizeOnDisk.csproj
displayName: Build SizeOnDisk tool (Windows)
env:
PERFLAB_TARGET_FRAMEWORKS: netcoreapp3.1
condition: and(succeeded(), eq(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
- script: $(PayloadDirectory)/dotnet/dotnet publish -c Release -o $(WorkItemDirectory)/SOD -f netcoreapp3.1 -r linux-$(Architecture) $(PerformanceDirectory)/src/tools/ScenarioMeasurement/SizeOnDisk/SizeOnDisk.csproj
displayName: Build SizeOnDisk tool (Linux)
env:
PERFLAB_TARGET_FRAMEWORKS: netcoreapp3.1
condition: and(succeeded(), ne(variables['Agent.Os'], 'windows'))
condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))

# run perf testing in helix
- template: /eng/common/templates/steps/perf-send-to-helix.yml
Expand Down

0 comments on commit 7bdfae8

Please sign in to comment.