Skip to content

Commit 0a779ac

Browse files
committed
[ci] Add Android Designer test template
The designer team is no longer using the build and test templates in [yaml-templates][0], so there is not much value in us maintaining them externally. A copy of the test template has been moved into our repo, and the build and test steps have been updated to reflect the latest changes in the UITools repo. [0]: https://github.com/xamarin/yaml-templates/tree/89becd2759512ebd8fe560a53f6916cc684f0b4c/designer
1 parent 57d42a8 commit 0a779ac

File tree

2 files changed

+97
-23
lines changed

2 files changed

+97
-23
lines changed

build-tools/automation/azure-pipelines.yaml

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1318,32 +1318,30 @@ stages:
13181318
jdkTestFolder: $(JAVA_HOME_8_X64)
13191319
provisionatorChannel: ${{ parameters.provisionatorChannel }}
13201320

1321-
- template: designer\android-designer-build-win.yaml@yaml
1322-
parameters:
1323-
designerSourcePath: $(System.DefaultWorkingDirectory)\UITools\Designer
1324-
uiToolsSourcePath: $(System.DefaultWorkingDirectory)\UITools
1325-
javaSdkDirectory: $(JAVA_HOME_8_X64)
1326-
1327-
- template: designer\android-designer-tests.yaml@yaml
1328-
parameters:
1329-
designerSourcePath: $(System.DefaultWorkingDirectory)\UITools\Designer
1330-
1331-
- task: CopyFiles@2
1332-
displayName: 'Copy binlogs'
1321+
- task: VSBuild@1
1322+
displayName: Restore Xamarin.AndroidDesigner
13331323
inputs:
1334-
sourceFolder: $(System.DefaultWorkingDirectory)\UITools\Designer\Xamarin.Designer.Android
1335-
contents: '**/*.binlog'
1336-
targetFolder: $(Build.ArtifactStagingDirectory)\designer-binlogs
1337-
overWrite: true
1338-
flattenFolders: true
1339-
condition: ne(variables['Agent.JobStatus'], 'Succeeded')
1324+
solution: $(System.DefaultWorkingDirectory)\UITools\Designer\Xamarin.Designer.Android\Xamarin.AndroidDesigner.sln
1325+
vsVersion: 17.0
1326+
msbuildArgs: >-
1327+
/t:Restore /p:RestoreDisableParallel=true
1328+
/p:RestoreConfigFile="$(System.DefaultWorkingDirectory)\UITools\NuGet.Config"
1329+
/p:JavaSdkDirectory="$(JAVA_HOME_8_X64)"
1330+
platform: Any CPU
1331+
configuration: DebugWin32
1332+
1333+
- task: VSBuild@1
1334+
displayName: Build Xamarin.AndroidDesigner
1335+
inputs:
1336+
solution: $(System.DefaultWorkingDirectory)\UITools\Designer\Xamarin.Designer.Android\Xamarin.AndroidDesigner.sln
1337+
vsVersion: 17.0
1338+
msbuildArgs: /t:Build
1339+
platform: Any CPU
1340+
configuration: DebugWin32
13401341

1341-
- template: yaml-templates/publish-artifact.yaml
1342+
- template: yaml-templates/run-designer-tests.yml
13421343
parameters:
1343-
displayName: upload designer binlogs
1344-
artifactName: Test Results - Designer - Windows
1345-
targetPath: $(Build.ArtifactStagingDirectory)\designer-binlogs
1346-
condition: ne(variables['Agent.JobStatus'], 'Succeeded')
1344+
designerSourcePath: $(System.DefaultWorkingDirectory)\UITools\Designer
13471345

13481346
- stage: bcl_tests
13491347
displayName: BCL Emulator Tests
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
parameters:
2+
designerSourcePath: $(System.DefaultWorkingDirectory)
3+
nunitConsoleVersion: '3.9.0'
4+
runAddinTests: true
5+
testResultArtifactName: Test Results - Designer - Windows
6+
7+
steps:
8+
- task: DeleteFiles@1
9+
displayName: Delete Test Outputs
10+
inputs:
11+
SourceFolder: ${{ parameters.designerSourcePath }}/Xamarin.Designer.Android/Xamarin.AndroidDesigner.Tests
12+
Contents: |
13+
CustomControlsOutput
14+
AndroidCustomControlsClass/obj
15+
AndroidCustomControlsBinding/obj
16+
AndroidCustomControls/obj
17+
AndroidCustomControlsClass/bin
18+
AndroidCustomControlsBinding/bin
19+
AndroidCustomControls/bin
20+
21+
- task: NuGetCommand@2
22+
displayName: Install NUnit.Console ${{ parameters.nunitConsoleVersion }}
23+
inputs:
24+
command: custom
25+
arguments: install NUnit.Console -version ${{ parameters.nunitConsoleVersion }} -OutputDirectory ${{ parameters.designerSourcePath }}/packages
26+
27+
- powershell: |
28+
$nunitConsole = [IO.Path]::Combine("${{ parameters.designerSourcePath }}", "packages", "NUnit.ConsoleRunner.${{ parameters.nunitConsoleVersion }}", "tools", "nunit3-console.exe")
29+
if ([Environment]::OSVersion.Platform -eq "Unix")
30+
{
31+
mono64 "$nunitConsole" "-labels=All" "-result=TestResult_AndroidDesignerUnitTests.xml" "Xamarin.AndroidDesigner.UnitTests.dll"
32+
}
33+
else
34+
{
35+
."$nunitConsole" "-labels=All" "-result=TestResult_AndroidDesignerUnitTests.xml" "Xamarin.AndroidDesigner.UnitTests.dll"
36+
}
37+
displayName: Run Unit Tests
38+
workingDirectory: ${{ parameters.designerSourcePath }}/Xamarin.Designer.Android/Xamarin.AndroidDesigner.Tests/bin-tests/Debug
39+
40+
- powershell: |
41+
if ([Environment]::OSVersion.Platform -eq "Unix")
42+
{
43+
mono64 "--debug" "GuiUnit.exe" "-labels=All" "-result=TestResult_AndroidDesigner.xml" "Xamarin.AndroidDesigner.Tests.dll"
44+
}
45+
else
46+
{
47+
.\GuiUnit.exe "-labels=All" "-result=TestResult_AndroidDesigner.xml" "Xamarin.AndroidDesigner.Tests.dll"
48+
}
49+
displayName: Run GUI Tests
50+
workingDirectory: ${{ parameters.designerSourcePath }}/Xamarin.Designer.Android/Xamarin.AndroidDesigner.Tests/bin/Debug
51+
condition: false # https://dev.azure.com/devdiv/DevDiv/_workitems/edit/1583237
52+
53+
- task: PublishTestResults@2
54+
displayName: Publish Core Unit Test Results
55+
inputs:
56+
testResultsFormat: NUnit
57+
testResultsFiles: ${{ parameters.designerSourcePath }}/Xamarin.Designer.Android/Xamarin.AndroidDesigner.Tests/**/TestResult_*.xml
58+
testRunTitle: Xamarin.AndroidDesigner.Tests
59+
condition: succeededOrFailed()
60+
61+
- task: CopyFiles@2
62+
displayName: 'Copy binlogs'
63+
inputs:
64+
sourceFolder: ${{ parameters.designerSourcePath }}/Xamarin.Designer.Android
65+
contents: '**/*.binlog'
66+
targetFolder: $(Build.ArtifactStagingDirectory)/designer-binlogs
67+
overWrite: true
68+
flattenFolders: true
69+
condition: ne(variables['Agent.JobStatus'], 'Succeeded')
70+
71+
- template: publish-artifact.yaml
72+
parameters:
73+
displayName: upload designer binlogs
74+
artifactName: ${{ parameters.testResultArtifactName }}
75+
targetPath: $(Build.ArtifactStagingDirectory)/designer-binlogs
76+
condition: ne(variables['Agent.JobStatus'], 'Succeeded')

0 commit comments

Comments
 (0)