Skip to content

Commit dab50a1

Browse files
authored
Improving Pipeline (#196)
* Cherrypicking last commit * Fixing identation
1 parent 5cf40d7 commit dab50a1

File tree

3 files changed

+8
-114
lines changed

3 files changed

+8
-114
lines changed

build/azure-pipelines.yml

+4-22
Original file line numberDiff line numberDiff line change
@@ -65,29 +65,11 @@ extends:
6565
filePath: './build/scripts/SetupBuildInfo.ps1'
6666
arguments: -Version $(MSIXVersion) -IsAzurePipelineBuild
6767

68-
- task: MSBuild@1
69-
displayName: Restoring packages
70-
inputs:
71-
solution: '$(solution)'
72-
msbuildArchitecture: '${{ platform }}'
73-
platform: '${{ platform }}'
74-
configuration: '${{ configuration }}'
75-
msbuildArguments: '/t:Restore'
76-
77-
- task: MsixPackaging@1
68+
- task: PowerShell@2
7869
displayName: Building MSIX
7970
inputs:
80-
outputPath: 'BuildOutput\GitHubExtension_${{ configuration }}_${{ platform }}.msix'
81-
solution: '$(solution)'
82-
clean: false
83-
generateBundle: false
84-
buildConfiguration: '${{ configuration }}'
85-
buildPlatform: '${{ platform }}'
86-
updateAppVersion: false
87-
appPackageDistributionMode: 'SideloadOnly'
88-
msbuildLocationMethod: 'version'
89-
msbuildVersion: 'latest'
90-
msbuildArchitecture: '${{ platform }}'
71+
filePath: './build/scripts/Build.ps1'
72+
arguments: -Platform "${{ platform }}" -Configuration "${{ configuration }}" -Version $(MSIXVersion)
9173

9274
- template: ./build/templates/EsrpSigning-Steps.yml@self
9375
parameters:
@@ -131,7 +113,7 @@ extends:
131113
132114
- task: PowerShell@2
133115
displayName: 'Run Unittests'
134-
condition: ne('${{ platform}}', 'arm64')
116+
condition: ne('${{ platform }}', 'arm64')
135117
retryCountOnTaskFailure: 2
136118
inputs:
137119
filePath: 'build/scripts/Test.ps1'

build/scripts/Build.ps1

+3-49
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ Param(
22
[string]$Platform = "x64",
33
[string]$Configuration = "debug",
44
[string]$Version,
5-
[string]$ClientId,
6-
[string]$ClientSecret,
7-
[string]$BuildStep = "all",
8-
[string]$AzureBuildingBranch = "main",
95
[switch]$IsAzurePipelineBuild = $false,
106
[switch]$Help = $false
117
)
@@ -47,76 +43,34 @@ Options:
4743
Exit
4844
}
4945

50-
# Install NuGet Cred Provider
51-
Invoke-Expression "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
52-
5346
# Root is two levels up from the script location.
5447
$env:Build_RootDirectory = (Get-Item $PSScriptRoot).parent.parent.FullName
5548
$env:Build_Platform = $Platform.ToLower()
5649
$env:Build_Configuration = $Configuration.ToLower()
57-
$env:msix_version = build\scripts\CreateBuildInfo.ps1 -Version $Version -IsAzurePipelineBuild $IsAzurePipelineBuild
5850
$isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')
5951

60-
# Set GitHub OAuth Client App configuration if build-time parameters are present
61-
$OAuthConfigFilePath = (Join-Path $env:Build_RootDirectory "src\GitHubExtension\Configuration\OAuthConfiguration.cs")
62-
if (![string]::IsNullOrWhitespace($ClientId)) {
63-
(Get-Content $OAuthConfigFilePath).Replace("%BUILD_TIME_GITHUB_CLIENT_ID_PLACEHOLDER%", $ClientId) | Set-Content $OAuthConfigFilePath
64-
}
65-
else {
66-
Write-Host "ClientId not found at Build-time"
67-
}
68-
69-
if (![string]::IsNullOrWhitespace($ClientSecret)) {
70-
(Get-Content $OAuthConfigFilePath).Replace("%BUILD_TIME_GITHUB_CLIENT_SECRET_PLACEHOLDER%", $ClientSecret) | Set-Content $OAuthConfigFilePath
71-
}
72-
else {
73-
Write-Host "ClientSecret not found at Build-time"
74-
}
75-
76-
if ($IsAzurePipelineBuild) {
77-
Copy-Item (Join-Path $env:Build_RootDirectory "build\nuget.config.internal") -Destination (Join-Path $env:Build_RootDirectory "nuget.config")
78-
}
79-
8052
$msbuildPath = &"${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -prerelease -products * -requires Microsoft.Component.MSBuild -find MSBuild\**\Bin\MSBuild.exe
8153

8254
$ErrorActionPreference = "Stop"
8355

8456
. (Join-Path $env:Build_RootDirectory "build\scripts\CertSignAndInstall.ps1")
8557

8658
Try {
87-
$appxmanifestPath = (Join-Path $env:Build_RootDirectory "GitHubExtension\Package.appxmanifest")
88-
89-
[Reflection.Assembly]::LoadWithPartialName("System.Xml.Linq")
90-
$xIdentity = [System.Xml.Linq.XName]::Get("{http://schemas.microsoft.com/appx/manifest/foundation/windows10}Identity");
91-
92-
# Update the appxmanifest
93-
$appxmanifest = [System.Xml.Linq.XDocument]::Load($appxmanifestPath)
94-
$appxmanifest.Root.Element($xIdentity).Attribute("Version").Value = $env:msix_version
95-
$appxmanifest.Save($appxmanifestPath)
96-
97-
$appxPackageDir = (Join-Path $env:Build_RootDirectory "AppxPackages\$configuration")
98-
$solutionPath = (Join-Path $env:Build_RootDirectory "GitHubExtension.sln")
9959
$msbuildArgs = @(
10060
($solutionPath),
10161
("/p:platform="+$platform),
10262
("/p:configuration="+$configuration),
10363
("/restore"),
10464
("/binaryLogger:GitHubExtension.$platform.$configuration.binlog"),
105-
("/p:AppxPackageOutput=$appxPackageDir\GitHubExtension-$platform.msix"),
65+
("/p:AppxPackageOutput=$appxPackageDir\GitHubExtension_$configuration" + "_$Version" + "_$platform.msix"),
10666
("/p:AppxPackageSigningEnabled=false"),
107-
("/p:GenerateAppxPackageOnBuild=true"),
108-
("/p:BuildRing=$buildRing")
67+
("/p:GenerateAppxPackageOnBuild=true")
10968
)
11069

11170
& $msbuildPath $msbuildArgs
11271
if (-not($IsAzurePipelineBuild) -And $isAdmin) {
113-
Invoke-SignPackage "$appxPackageDir\GitHubExtension-$platform.msix"
72+
Invoke-SignPackage "$appxPackageDir\GitHubExtension_$configuration" + "_$Version" + "_$platform.msix"
11473
}
115-
116-
# Reset the appxmanifest to prevent unnecessary code changes
117-
$appxmanifest = [System.Xml.Linq.XDocument]::Load($appxmanifestPath)
118-
$appxmanifest.Root.Element($xIdentity).Attribute("Version").Value = "0.0.0.0"
119-
$appxmanifest.Save($appxmanifestPath)
12074
} Catch {
12175
$formatString = "`n{0}`n`n{1}`n`n"
12276
$fields = $_, $_.ScriptStackTrace

build/scripts/Test.ps1

+1-43
Original file line numberDiff line numberDiff line change
@@ -45,55 +45,17 @@ $vstestPath = &"${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhe
4545

4646
$ErrorActionPreference = "Stop"
4747

48-
$isInstalled = Get-ChildItem HKLM:\SOFTWARE\$_\Microsoft\Windows\CurrentVersion\Uninstall\ | ? {($_.GetValue("DisplayName")) -like "*Windows Application Driver*"}
49-
50-
if (-not($IsAzurePipelineBuild)) {
51-
if ($isInstalled){
52-
Write-Host "WinAppDriver is already installed on this computer."
53-
}
54-
else {
55-
Write-Host "WinAppDriver will be installed in the background."
56-
$url = "https://github.com/microsoft/WinAppDriver/releases/download/v1.2.99/WindowsApplicationDriver-1.2.99-win-x64.exe"
57-
$outpath = "$env:Build_SourcesDirectory\temp"
58-
Invoke-WebRequest -Uri $url -OutFile "$env:Build_SourcesDirectory\temp\WinAppDriverx64.exe"
59-
60-
Start-Process -Wait -Filepath $env:Build_SourcesDirectory\WinAppDriverx64.exe -ArgumentList "/S" -PassThru
61-
}
62-
63-
start-Process -FilePath "C:\Program Files\Windows Application Driver\WinAppDriver.exe"
64-
}
65-
6648
Try {
6749
foreach ($platform in $env:Build_Platform.Split(",")) {
6850
foreach ($configuration in $env:Build_Configuration.Split(",")) {
69-
# TODO: UI tests are currently disabled in pipeline until signing is solved
70-
if (-not($IsAzurePipelineBuild)) {
71-
$Package = Get-AppPackage "GitHubExtension"
72-
if ($Package) {
73-
Write-Host "Uninstalling old GitHubExtension"
74-
Remove-AppPackage -Package $Package.PackageFullName
75-
}
76-
Write-Host "Installing GitHubExtension"
77-
Add-AppPackage "AppxPackages\$platform\$configuration\GitHubExtension.msix"
78-
}
79-
8051
$vstestArgs = @(
8152
("/Platform:$platform"),
8253
("/Logger:trx;LogFileName=GitHubExtension.Test-$platform-$configuration.trx"),
83-
("/TestCaseFilter:""TestCategory=Unit"""),
54+
("/TestCaseFilter:""TestCategory!=LiveData"""),
8455
("BuildOutput\$configuration\$platform\GitHubExtension.Test\GitHubExtension.Test.dll")
8556
)
86-
$winAppTestArgs = @(
87-
("/Platform:$platform"),
88-
("/Logger:trx;LogFileName=GitHubExtension.UITest-$platform-$configuration.trx"),
89-
("BuildOutput\$configuration\$platform\GitHubExtension.UITest\GitHubExtension.UITest.dll")
90-
)
9157

9258
& $vstestPath $vstestArgs
93-
# TODO: UI tests are currently disabled in pipeline until signing is solved
94-
if (-not($IsAzurePipelineBuild)) {
95-
& $vstestPath $winAppTestArgs
96-
}
9759
}
9860
}
9961
} Catch {
@@ -103,10 +65,6 @@ Try {
10365
Exit 1
10466
}
10567

106-
if (-not($IsAzurePipelineBuild)) {
107-
Stop-Process -Name "WinAppDriver"
108-
}
109-
11068
$TotalTime = (Get-Date)-$StartTime
11169
$TotalMinutes = [math]::Floor($TotalTime.TotalMinutes)
11270
$TotalSeconds = [math]::Ceiling($TotalTime.TotalSeconds)

0 commit comments

Comments
 (0)