Skip to content

Commit

Permalink
Use dotnet build in yaml pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
ethanmoffat committed Feb 9, 2022
1 parent 28b8672 commit ad04201
Showing 1 changed file with 67 additions and 71 deletions.
138 changes: 67 additions & 71 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,7 @@
name: 0.2.$(rev:rrr)

variables:
- name: BuildParameters.solution
value: EndlessClient.sln

trigger:
branches:
include:
- master
- master

schedules:
- cron: 0 5 * * 6
Expand All @@ -16,67 +10,69 @@ schedules:
- master
always: true

jobs:
- job: build_and_publish_artifacts
displayName: Build + Publish Artifacts
pool:
vmImage: windows-2019
steps:
- checkout: self
persistCredentials: true
- task: NuGetToolInstaller@0
displayName: Download nuget.exe
inputs:
versionSpec: 4.9.3
checkLatest: true
- task: NuGetCommand@2
displayName: NuGet restore
inputs:
solution: $(BuildParameters.solution)
- task: VSBuild@1
displayName: Build solution EndlessClient.sln
inputs:
solution: $(BuildParameters.solution)
vsVersion: "16.0"
platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
maximumCpuCount: true
- task: VSTest@2
displayName: Run NUnit unit tests - skipping EOLib.Graphics.Test (not supported on VSTS agent)
inputs:
testAssemblyVer2: >-
**\bin\**\*.Test.dll
!**\EOLib.Graphics.Test.dll
platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
diagnosticsEnabled: True
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)\EndlessClient'
inputs:
SourceFolder: $(System.DefaultWorkingDirectory)
Contents: bin\$(BuildConfiguration)\**
TargetFolder: $(Build.ArtifactStagingDirectory)\EndlessClient
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)\EOBot'
inputs:
SourceFolder: $(System.DefaultWorkingDirectory)
Contents: bin\utils\EOBot\$(BuildConfiguration)\**
TargetFolder: $(Build.ArtifactStagingDirectory)\EOBot
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: EndlessClient'
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)\EndlessClient
ArtifactName: EndlessClient
TargetPath: '$(Build.DefinitionName)\$(Build.BuildNumber)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: EOBot'
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)\EOBot
ArtifactName: EOBot
TargetPath: '$(Build.DefinitionName)\$(Build.BuildNumber)'
- script: |
git tag build/$(Build.BuildNumber)
git push origin build/$(Build.BuildNumber)
workingDirectory: $(Build.SourcesDirectory)
displayName: Tag sources on CI/Manual builds
condition: or(eq(variables['build.reason'], 'IndividualCI'), eq(variables['build.reason'], 'Manual'))
strategy:
matrix:
# TODO: enable build for linux
# linux:
# imageName: "ubuntu-latest"
windows:
imageName: "windows-latest"

pool:
vmImage: $(imageName)

variables:
buildConfiguration: 'Release'

steps:
- checkout: self
persistCredentials: true
- task: UseDotNet@2
inputs:
version: 6.0.x
- task: DotNetCoreCLI@2
displayName: 'dotnet restore'
inputs:
command: 'restore'
projects: '$(Build.SourcesDirectory)\EndlessClient.sln'
- task: DotNetCoreCLI@2
displayName: 'dotnet build'
inputs:
command: 'build'
projects: '$(Build.SourcesDirectory)\EndlessClient.sln'
- task: DotNetCoreCLI@2
displayName: 'dotnet test - skipping EOLib.Graphics.Test (not supported on VSTS agent)'
inputs:
command: 'test'
projects: '$(Build.SourcesDirectory)\EndlessClient.sln'
arguments: '--filter="FullyQualifiedName!~EOLib.Graphics.Test'
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)\EndlessClient'
inputs:
SourceFolder: $(System.DefaultWorkingDirectory)
Contents: bin\$(buildConfiguration)\net6.0-windows\**
TargetFolder: $(Build.ArtifactStagingDirectory)\EndlessClient
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)\EOBot'
inputs:
SourceFolder: $(System.DefaultWorkingDirectory)
Contents: bin\$(buildConfiguration)\utils\EOBot\net6.0\**
TargetFolder: $(Build.ArtifactStagingDirectory)\EOBot
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: EndlessClient'
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)\EndlessClient
ArtifactName: EndlessClient
TargetPath: '$(Build.DefinitionName)\$(Build.BuildNumber)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: EOBot'
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)\EOBot
ArtifactName: EOBot
TargetPath: '$(Build.DefinitionName)\$(Build.BuildNumber)'
- script: |
git tag build/$(Build.BuildNumber)
git push origin build/$(Build.BuildNumber)
workingDirectory: $(Build.SourcesDirectory)
displayName: Tag sources on CI/Manual builds
condition: or(eq(variables['build.reason'], 'IndividualCI'), eq(variables['build.reason'], 'Manual'))

0 comments on commit ad04201

Please sign in to comment.