You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ombi/ci-build.yaml

211 lines
6.3 KiB

# 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'
gitTag: 'v4.0.$(Build.BuildId)'
pool:
vmImage: 'ubuntu-latest'
steps:
- task: Yarn@3
displayName: 'Install UI Dependancies'
inputs:
projectDirectory: '$(Build.SourcesDirectory)/src/Ombi/ClientApp/'
arguments: 'install'
- task: Yarn@3
displayName: 'Build Angular App'
inputs:
projectDirectory: '$(Build.SourcesDirectory)/src/Ombi/ClientApp/'
arguments: 'run build'
#- 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'
zipAfterPublish: false
- task: CopyFiles@2
displayName: 'Publish Angular App Win10-x64'
inputs:
SourceFolder: '$(Build.SourcesDirectory)/src/Ombi/ClientApp/dist'
Contents: '**'
TargetFolder: '$(Build.ArtifactStagingDirectory)/win-64/wwwroot'
#- 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: false
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'
# ArtifactName: 'win-x64-$(Build.BuildId).zip'
# publishLocation: 'Container'
- task: GitHubRelease@1
inputs:
gitHubConnection: 'github.com_tidusjar'
repositoryName: 'tidusjar/Ombi.Releases'
action: 'create'
target: 'c7fcbb77b58aef1076d635a9ef99e4374abc8672'
tagSource: 'userSpecifiedTag'
tag: '$(gitTag)'
releaseNotesSource: 'inline'
releaseNotesInline: 'test'
assets: '$(Build.ArtifactStagingDirectory)/*.zip'
isPreRelease: true
changeLogCompareToRelease: 'lastFullRelease'
changeLogType: 'commitBased'
#- 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'