Skip to content

Commit 482a781

Browse files
author
AndreyDeev
committed
Add azure pipelines for build and for publish nuget
1 parent 4593884 commit 482a781

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed

.azure/azure-build.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
trigger:
2+
- zero
3+
4+
pool:
5+
vmImage: 'windows-2022'
6+
7+
name: $(Date:yyyyMMdd).$(Rev:r)
8+
9+
variables:
10+
solution: 'LiteDB.sln'
11+
buildPlatform: 'Any CPU'
12+
buildConfiguration: 'Release'
13+
14+
steps:
15+
- task: NuGetToolInstaller@1
16+
17+
- task: NuGetCommand@2
18+
inputs:
19+
command: 'restore'
20+
restoreSolution: '$(Build.SourcesDirectory)\$(solution)'
21+
feedsToUse: 'select'
22+
vstsFeed: '37514f74-c7cc-4c80-ad25-a7ede6743148'
23+
24+
- task: VSBuild@1
25+
displayName: 'Compile'
26+
inputs:
27+
solution: '$(solution)'
28+
platform: '$(buildPlatform)'
29+
configuration: '$(buildConfiguration)'
30+
maximumCpuCount: true
31+
32+
# At the moment of writing, Azure Pipelines use 17.3.0-preview-20220626-01 test platform version,
33+
# That has some bugs regarding xUnit tests, thus specifying a stable version explicitly.
34+
# See https://stackoverflow.com/a/73414352/1828989.
35+
36+
#- task: VisualStudioTestPlatformInstaller@1
37+
# inputs:
38+
# versionSelector: 'SpecificVersion'
39+
# testPlatformVersion: '17.2.0'
40+
41+
- task: VSTest@2
42+
displayName: 'Unit Tests'
43+
inputs:
44+
platform: '$(buildPlatform)'
45+
configuration: '$(buildConfiguration)'
46+
testSelector: 'testAssemblies'
47+
testAssemblyVer2: |
48+
**\LiteDB.Tests.dll
49+
!**\obj\**
50+
!**\ref\**
51+
searchFolder: '$(System.DefaultWorkingDirectory)'
52+
runInParallel: true
53+
vsTestVersion: 'toolsInstaller'

.azure/publish-nuget.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
trigger: none
2+
pr: none
3+
4+
pool:
5+
vmImage: 'windows-2022'
6+
7+
name: $(majorMinorVersion).$(semanticVersion)
8+
9+
variables:
10+
solution: 'LiteDB.sln'
11+
buildConfiguration: 'Release'
12+
majorMinorVersion: 5.0.17
13+
# semanticVersion counter is automatically incremented by one in each execution of pipeline
14+
# second parameter is seed value to reset to every time the referenced majorMinorVersion is changed
15+
semanticVersion: $[counter(variables['majorMinorVersion'], 0)]-patch
16+
17+
steps:
18+
- task: NuGetToolInstaller@1
19+
20+
- task: NuGetCommand@2
21+
displayName: 'NuGet Restore'
22+
inputs:
23+
command: 'custom'
24+
arguments: 'restore $(Build.SourcesDirectory)\$(solution) -LockedMode -Verbosity Detailed -NonInteractive'
25+
26+
- task: DotNetCoreCLI@2
27+
displayName: 'dotnet pack'
28+
inputs:
29+
command: 'pack'
30+
configuration: '$(buildConfiguration)'
31+
packagesToPack: '**/LiteDB.csproj'
32+
includesymbols: true
33+
versioningScheme: byBuildNumber
34+
35+
- task: NuGetAuthenticate@0
36+
displayName: 'NuGet Authenticate'
37+
38+
- task: NuGetCommand@2
39+
displayName: 'NuGet push'
40+
inputs:
41+
command: 'push'
42+
packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg'
43+
nuGetFeedType: 'internal'
44+
publishVstsFeed: '37514f74-c7cc-4c80-ad25-a7ede6743148'
45+
allowPackageConflicts: true

0 commit comments

Comments
 (0)