forked from MonoMod/MonoMod
-
Notifications
You must be signed in to change notification settings - Fork 0
/
azure-pipelines.yml
83 lines (74 loc) · 2.33 KB
/
azure-pipelines.yml
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
# .NET Desktop
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/vsts/pipelines/apps/windows/dot-net
pool:
vmImage: 'VS2017-Win2016'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
name: '$(Date:yy.MM.dd)$(Rev:.rr)'
steps:
# Install the .NET Core SDK.
- task: DotNetCoreInstaller@0
displayName: 'Install: .NET Core SDK'
inputs:
packageType: 'sdk'
version: '2.0.0'
# Run pre-build steps.
- task: DotNetCoreCLI@2
displayName: 'dotnet: Restore'
inputs:
command: 'restore'
projects: 'MonoMod*/*.csproj'
- task: PowerShell@2
displayName: 'Run: PowerShell: azure-pipelines-prebuild.ps1'
inputs:
filePath: 'azure-pipelines-prebuild.ps1'
# Build.
- task: DotNetCoreCLI@2
displayName: 'dotnet: Build'
inputs:
command: 'build'
projects: 'MonoMod*/*.csproj'
configuration: '$(buildConfiguration)'
arguments: '--configuration $(buildConfiguration)'
# Create and "publish" main artifacts.
- template: 'azure-pipelines-postbuild.yml'
parameters:
targetFramework: 'net35'
- template: 'azure-pipelines-postbuild.yml'
parameters:
targetFramework: 'netstandard1.3'
- template: 'azure-pipelines-postbuild.yml'
parameters:
targetFramework: 'netstandard2.0'
# Create and "publish" nupkg artifacts.
- task: DotNetCoreCLI@2
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
displayName: 'Artifacts: Pack: nupkgs'
continueOnError: true
inputs:
command: 'pack'
nobuild: true
configuration: '$(buildConfiguration)'
versioningScheme: 'byBuildNumber'
packagesToPack: 'MonoMod@(|.Utils|.RuntimeDetour|.RuntimeDetour.HookGen)/*.csproj'
packDirectory: '$(Build.ArtifactStagingDirectory)/nupkgs'
- task: PublishBuildArtifacts@1
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
displayName: 'Artifacts: Publish: nupkgs'
continueOnError: true
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)/nupkgs'
artifactName: 'nupkgs'
publishLocation: 'Container'
# Run tests last.
- task: DotNetCoreCLI@2
displayName: 'dotnet: Test'
inputs:
command: 'test'
nobuild: true
projects: 'MonoMod.UnitTest/*.csproj'
configuration: '$(buildConfiguration)'