Repository navigation
Expand file tree
/
Copy pathsteps.yml
More file actions
134 lines (113 loc) · 4.66 KB
/
Copy pathsteps.yml
File metadata and controls
134 lines (113 loc) · 4.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
parameters:
os: ''
steps:
- powershell: |
# Write your powershell commands here.
$xml = [xml] (Get-Content CurrentVersion.props)
$major = $xml.Project.PropertyGroup.MajorVersion
$minor = $xml.Project.PropertyGroup.MinorVersion
$micro = $xml.Project.PropertyGroup.MicroVersion
$serial = $xml.Project.PropertyGroup.ReleaseSerial
$level = $xml.Project.PropertyGroup.ReleaseLevel
if($level -eq 'final') {
$PackageVersion = "$major.$minor.$micro"
} elseif($level -ne 'final' -or $serial -ne '0') {
$PackageVersion = "$major.$minor.$micro-$level$serial"
}
# store the package version to an environment variable
Write-Host ("##vso[task.setvariable variable=PackageVersion;isSecret=false;isOutput=true;]$PackageVersion")
displayName: Grab Package Version
# Install mono when running on Linux
- ${{ if eq(parameters.os, 'Linux') }}:
- task: ms-devlabs.utilitytasks.task-Shellpp.Shell++@0
displayName: Install Mono
inputs:
type: InlineScript
script: |
echo "Installing Mono"
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt-get -yq install mono-complete mono-vbnc dos2unix fakeroot
# workaround for issue with vbc.rsp file
sudo sed -ie 's/System.XML/System.Xml/g' /usr/lib/mono/4.5/vbc.rsp
# Dump some info about the tools
mono --version
msbuild /version
dotnet --info
df -Th
# Dump version info on macOS
- ${{ if eq(parameters.os, 'macOS') }}:
- task: ms-devlabs.utilitytasks.task-Shellpp.Shell++@0
displayName: Version Information
inputs:
type: InlineScript
script: |
# Dump some info about the tools
mono --version
msbuild /version
dotnet --info
- powershell: ./make.ps1
displayName: Build
- powershell: ./make.ps1 test-all
displayName: Test
# 32-bit tests on Windows only
- ${{ if eq(parameters.os, 'Windows') }}:
- powershell: ./make.ps1 -platform x86 test-all
displayName: Test 32-bit
- task: PublishTestResults@2
displayName: Publish Test Results
inputs:
testRunner: VSTest
testResultsFiles: '**/*.trx'
mergeTestResults: true
testRunTitle: ${{ parameters.os }}
condition: succeededOrFailed()
- powershell: ./make.ps1 package
displayName: Package
condition: succeededOrFailed()
- task: CopyFiles@2
displayName: Copy NuGet and Zip Packages
inputs:
SourceFolder: '$(Build.Repository.LocalPath)/Package/Release/Packages'
Contents: |
**/*.nupkg
**/*.zip
TargetFolder: '$(Build.ArtifactStagingDirectory)'
condition: and(succeededOrFailed(), eq(variables['system.pullrequest.isfork'], false))
- ${{ if eq(parameters.os, 'Windows') }}:
- task: CopyFiles@2
displayName: Copy MSI Installer
inputs:
SourceFolder: '$(Build.Repository.LocalPath)/Package/Release/Packages'
Contents: '**/*.msi'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
condition: and(succeededOrFailed(), eq(variables['system.pullrequest.isfork'], false))
- ${{ if eq(parameters.os, 'Linux') }}:
- task: CopyFiles@2
displayName: Copy Deb Installer
inputs:
SourceFolder: '$(Build.Repository.LocalPath)/Package/Release/Packages'
Contents: '**/*.deb'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
condition: and(succeededOrFailed(), eq(variables['system.pullrequest.isfork'], false))
- ${{ if eq(parameters.os, 'macOS') }}:
- task: CopyFiles@2
displayName: Copy Pkg Installer
inputs:
SourceFolder: '$(Build.Repository.LocalPath)/Package/Release/Packages'
Contents: '**/*.pkg'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
condition: and(succeededOrFailed(), eq(variables['system.pullrequest.isfork'], false))
- task: CopyFiles@2
displayName: Copy Build Logs
inputs:
Contents: '*.binlog'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
condition: and(succeededOrFailed(), eq(variables['system.pullrequest.isfork'], false))
- task: PublishBuildArtifacts@1
displayName: Publish Artifacts
inputs:
ArtifactName: ${{ format('{0} Artifacts', parameters.os) }}
condition: and(succeededOrFailed(), eq(variables['system.pullrequest.isfork'], false))