Skip to content

Commit 7283957

Browse files
authored
Fix PDN pre-command (#2724)
1 parent 0767dde commit 7283957

File tree

3 files changed

+17
-15
lines changed

3 files changed

+17
-15
lines changed

eng/performance/scenarios.proj

+3-1
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,15 @@
5050
<UIScenario Include="PaintDotNet" Condition="'$(TargetsWindows)' == 'true' And $(BUILD_REPOSITORY_PROVIDER) == 'TfsGit'">
5151
<ScenarioDirectoryName>paintdotnet</ScenarioDirectoryName>
5252
<PayloadDirectory>$(ScenariosDir)%(ScenarioDirectoryName)</PayloadDirectory>
53+
<ExplicitPrepareCommand>$(Python) pre.py extract -p $(CorrelationPayloadDirectory)PDN\PDN.zip -o $(PreparePayloadWorkItemBaseDirectory)%(ScenarioDirectoryName)_fdd</ExplicitPrepareCommand>
5354
</UIScenario>
5455
</ItemGroup>
5556

5657

5758
<ItemGroup>
5859
<PreparePayloadWorkItem Include="@(UIScenario)">
59-
<Command>$(Python) pre.py publish -f $(PERFLAB_Framework) -c Release --windowsui -o $(PreparePayloadWorkItemBaseDirectory)%(PreparePayloadWorkItem.ScenarioDirectoryName)_fdd</Command>
60+
<Command Condition="'%(PreparePayloadWorkItem.ExplicitPrepareCommand)' != ''">%(PreparePayloadWorkItem.ExplicitPrepareCommand)</Command>
61+
<Command Condition="'%(PreparePayloadWorkItem.ExplicitPrepareCommand)' == ''">$(Python) pre.py publish -f $(PERFLAB_Framework) -c Release --windowsui -o $(PreparePayloadWorkItemBaseDirectory)%(PreparePayloadWorkItem.ScenarioDirectoryName)_fdd</Command>
6062
<WorkingDirectory>%(PreparePayloadWorkItem.PayloadDirectory)</WorkingDirectory>
6163
</PreparePayloadWorkItem>
6264
<PreparePayloadWorkItem Include="@(Scenario)">

eng/performance/scenarios.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@ jobs:
102102
displayName: Build SOD tool
103103
env:
104104
PERFLAB_TARGET_FRAMEWORKS: $(PERFLAB_Framework)
105+
# Current version of PaintDotNet zip file is PDN7 built on 5/18/2022
106+
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
107+
- powershell: |
108+
mkdir $(CorrelationStaging)PDN
109+
curl "https://pvscmdupload.blob.core.windows.net/assets/PDN.zip$(PerfCommandUploadTokenNonEscaped)" -OutFile $(CorrelationStaging)PDN\PDN.zip
110+
displayName: Download PDN
105111
- powershell: |
106112
$(Python) -m pip install --upgrade pip
107113
$(Python) -m pip install requests
@@ -114,12 +120,6 @@ jobs:
114120
TargetsWindows: 'true'
115121
WorkItemDirectory: $(Build.SourcesDirectory)
116122
HelixTargetQueues: ${{ parameters.queue }}
117-
# Current version of PaintDotNet zip file is PDN7 built on 5/18/2022
118-
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
119-
- powershell: |
120-
mkdir $(CorrelationStaging)PDN
121-
curl "https://pvscmdupload.blob.core.windows.net/assets/PDN.zip$(PerfCommandUploadTokenNonEscaped)" -OutFile $(CorrelationStaging)PDN\PDN.zip
122-
displayName: Download PDN
123123
- ${{ if eq(parameters.architecture, 'arm64') }}:
124124
- script: taskkill /im dotnet.exe /f
125125
displayName: Stop dotnet.exe

src/scenarios/paintdotnet/pre.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@
55
import os, subprocess
66
import zipfile
77
from performance.logger import setup_loggers
8-
from os.path import join
8+
from os.path import join, normpath
99
from shared.util import helixcorrelationpayload
1010
from performance.common import runninginlab
1111
from shared.precommands import PreCommands
1212
from shared import const
1313
from logging import getLogger
14-
from shutil import copytree
14+
from shutil import copytree, rmtree
1515

1616
setup_loggers(True)
1717

1818
precommands = PreCommands()
1919

20-
if runninginlab():
21-
with zipfile.ZipFile(join(helixcorrelationpayload(), "PDN\PDN.zip"), 'r') as publish:
22-
publish.extractall(const.PUBDIR)
23-
elif precommands.pathtozip:
24-
with zipfile.ZipFile(precommands.pathtozip, 'r') as publish:
25-
publish.extractall(const.PUBDIR)
20+
output = precommands.output or const.PUBDIR
21+
with zipfile.ZipFile(precommands.pathtozip, 'r') as publish:
22+
publish.extractall(output)
23+
copytree(join(output, 'PDN8', 'Release'), output, dirs_exist_ok=True)
24+
rmtree(join(output, 'PDN8'))
25+
getLogger().info(f"Unpacked {precommands.pathtozip} into {output}.")

0 commit comments

Comments
 (0)