|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ASP.NET Core
|
|
|
|
# Build and test ASP.NET Core projects targeting .NET Core.
|
|
|
|
# Add steps that run tests, create a NuGet package, deploy, and more:
|
|
|
|
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
branches:
|
|
|
|
include:
|
|
|
|
- feature/*
|
|
|
|
exclude:
|
|
|
|
- develop
|
|
|
|
- master
|
|
|
|
|
|
|
|
variables:
|
|
|
|
solution: '**/*.sln'
|
|
|
|
testProj: '**/*.Tests.csproj'
|
|
|
|
csProj: '**/*.csproj'
|
|
|
|
buildConfiguration: 'Release'
|
|
|
|
publishLocation: '$(Build.SourcesDirectory)/src/Ombi/bin/Release/netcoreapp3.0'
|
|
|
|
|
|
|
|
pool:
|
|
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- task: Yarn@3
|
|
|
|
displayName: Install UI Dependancies
|
|
|
|
inputs:
|
|
|
|
projectDirectory: '$(Build.SourcesDirectory)/src/Ombi/ClientApp/'
|
|
|
|
arguments: 'install'
|
|
|
|
|
|
|
|
- task: DotNetCoreCLI@2
|
|
|
|
displayName: Run Unit Tests
|
|
|
|
inputs:
|
|
|
|
command: 'test'
|
|
|
|
projects: '**/*Tests.csproj'
|
|
|
|
|
|
|
|
### Publish
|
|
|
|
|
|
|
|
- task: DotNetCoreCLI@2
|
|
|
|
displayName: Publish Win10-x64
|
|
|
|
inputs:
|
|
|
|
command: 'publish'
|
|
|
|
publishWebProjects: true
|
|
|
|
arguments: '-c $(buildConfiguration) -r "win10-x64" -o $(Build.ArtifactStagingDirectory)/win-64'
|
|
|
|
|
|
|
|
- task: DotNetCoreCLI@2
|
|
|
|
displayName: Publish Win10-x86
|
|
|
|
inputs:
|
|
|
|
command: 'publish'
|
|
|
|
publishWebProjects: true
|
|
|
|
arguments: '-c $(buildConfiguration) -r "win10-x86" -o $(Build.ArtifactStagingDirectory)/win-86'
|
|
|
|
|
|
|
|
- task: DotNetCoreCLI@2
|
|
|
|
displayName: Publish OSX-x64
|
|
|
|
inputs:
|
|
|
|
command: 'publish'
|
|
|
|
publishWebProjects: true
|
|
|
|
arguments: '-c $(buildConfiguration) -r "osx-x64" -o $(Build.ArtifactStagingDirectory)/osx-64'
|
|
|
|
|
|
|
|
- task: DotNetCoreCLI@2
|
|
|
|
displayName: Publish Linux-x64
|
|
|
|
inputs:
|
|
|
|
command: 'publish'
|
|
|
|
publishWebProjects: true
|
|
|
|
arguments: '-c $(buildConfiguration) -r "linux-x64" -o $(Build.ArtifactStagingDirectory)/linux-64'
|
|
|
|
|
|
|
|
- task: DotNetCoreCLI@2
|
|
|
|
displayName: Publish Linux-ARM
|
|
|
|
inputs:
|
|
|
|
command: 'publish'
|
|
|
|
publishWebProjects: true
|
|
|
|
arguments: '-c $(buildConfiguration) -r "linux-arm" -o $(Build.ArtifactStagingDirectory)/linux-arm'
|
|
|
|
|
|
|
|
- task: DotNetCoreCLI@2
|
|
|
|
displayName: Publish Linux-ARM-x64
|
|
|
|
inputs:
|
|
|
|
command: 'publish'
|
|
|
|
publishWebProjects: true
|
|
|
|
arguments: '-c $(buildConfiguration) -r "linux-arm64" -o $(Build.ArtifactStagingDirectory)/linux-arm64'
|
|
|
|
|
|
|
|
### Zip them up
|
|
|
|
|
|
|
|
- task: ArchiveFiles@2
|
|
|
|
displayName: Zip Win-x64
|
|
|
|
inputs:
|
|
|
|
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/win-64'
|
|
|
|
includeRootFolder: true
|
|
|
|
archiveType: 'zip'
|
|
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/win-x64-$(Build.BuildId).zip'
|
|
|
|
replaceExistingArchive: true
|
|
|
|
|
|
|
|
- task: ArchiveFiles@2
|
|
|
|
displayName: Zip Win-x86
|
|
|
|
inputs:
|
|
|
|
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/win-86'
|
|
|
|
includeRootFolder: true
|
|
|
|
archiveType: 'zip'
|
|
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/win-x86-$(Build.BuildId).zip'
|
|
|
|
replaceExistingArchive: true
|
|
|
|
|
|
|
|
- task: ArchiveFiles@2
|
|
|
|
displayName: Zip OSX-x64
|
|
|
|
inputs:
|
|
|
|
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/osx-64'
|
|
|
|
includeRootFolder: true
|
|
|
|
archiveType: 'tar'
|
|
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/osx-x64-$(Build.BuildId).tar.gz'
|
|
|
|
replaceExistingArchive: true
|
|
|
|
|
|
|
|
- task: ArchiveFiles@2
|
|
|
|
displayName: Zip Linux-x64
|
|
|
|
inputs:
|
|
|
|
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/linux-64'
|
|
|
|
includeRootFolder: true
|
|
|
|
archiveType: 'tar'
|
|
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/linux-x64-$(Build.BuildId).tar.gz'
|
|
|
|
replaceExistingArchive: true
|
|
|
|
|
|
|
|
- task: ArchiveFiles@2
|
|
|
|
displayName: Zip Linux-ARM
|
|
|
|
inputs:
|
|
|
|
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/linux-arm'
|
|
|
|
includeRootFolder: true
|
|
|
|
archiveType: 'tar'
|
|
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/linux-arm-$(Build.BuildId).tar.gz'
|
|
|
|
replaceExistingArchive: true
|
|
|
|
|
|
|
|
- task: ArchiveFiles@2
|
|
|
|
displayName: Zip Linux-ARM-x64
|
|
|
|
inputs:
|
|
|
|
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/linux-arm64'
|
|
|
|
includeRootFolder: true
|
|
|
|
archiveType: 'tar'
|
|
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/linux-arm64-$(Build.BuildId).tar.gz'
|
|
|
|
replaceExistingArchive: true
|
|
|
|
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
displayName: Publish Win 64
|
|
|
|
inputs:
|
|
|
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)/win-x64-$(Build.BuildId).zip'
|
|
|
|
ArtifactName: 'win-x64-$(Build.BuildId).zip'
|
|
|
|
publishLocation: 'Container'
|
|
|
|
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
displayName: Publish Win 86
|
|
|
|
inputs:
|
|
|
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)/win-x86-$(Build.BuildId).zip'
|
|
|
|
ArtifactName: 'win-x86-$(Build.BuildId).zip'
|
|
|
|
publishLocation: 'Container'
|
|
|
|
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
displayName: Publish OSX 64
|
|
|
|
inputs:
|
|
|
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)/osx-x64-$(Build.BuildId).tar.gz'
|
|
|
|
ArtifactName: 'osx-x64-$(Build.BuildId).tar.gz'
|
|
|
|
publishLocation: 'Container'
|
|
|
|
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
displayName: Publish Linux 64
|
|
|
|
inputs:
|
|
|
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)/linux-x64-$(Build.BuildId).tar.gz'
|
|
|
|
ArtifactName: 'drop'
|
|
|
|
publishLocation: 'Container'
|
|
|
|
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
displayName: Publish Linux ARM
|
|
|
|
inputs:
|
|
|
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)/linux-arm-$(Build.BuildId).tar.gz'
|
|
|
|
ArtifactName: 'linux-arm-$(Build.BuildId).tar.gz'
|
|
|
|
publishLocation: 'Container'
|
|
|
|
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
displayName: Publish OSX 64
|
|
|
|
inputs:
|
|
|
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)/linux-arm64-$(Build.BuildId).tar.gz'
|
|
|
|
ArtifactName: 'linux-arm64-$(Build.BuildId).tar.gz'
|
|
|
|
publishLocation: 'Container'
|