mirror of https://github.com/Ombi-app/Ombi
parent
57a57b9439
commit
685b119454
@ -1,249 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 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/v4
|
|
||||||
exclude:
|
|
||||||
- develop
|
|
||||||
- master
|
|
||||||
|
|
||||||
variables:
|
|
||||||
solution: '**/*.sln'
|
|
||||||
testProj: '**/*.Tests.csproj'
|
|
||||||
csProj: '**/*.csproj'
|
|
||||||
buildConfiguration: 'Release'
|
|
||||||
publishLocation: '$(Build.SourcesDirectory)/src/Ombi/bin/Release/netcoreapp3.1'
|
|
||||||
buildVersion: '4.0.$(Build.BuildId)'
|
|
||||||
gitTag: 'v$(buildVersion)'
|
|
||||||
uiLocation: '$(Build.SourcesDirectory)/src/Ombi/ClientApp/'
|
|
||||||
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-latest'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
## This is needed due to https://github.com/microsoft/azure-pipelines-tasks/issues/8429
|
|
||||||
## For the set version tool...
|
|
||||||
- task: DotNetCoreInstaller@1
|
|
||||||
displayName: 'Use .NET Core sdk '
|
|
||||||
inputs:
|
|
||||||
packageType: 'sdk'
|
|
||||||
version: '3.x'
|
|
||||||
- task: DotNetCoreInstaller@1
|
|
||||||
displayName: 'Use .NET Core sdk for versioning'
|
|
||||||
inputs:
|
|
||||||
packageType: 'sdk'
|
|
||||||
version: '2.1.x'
|
|
||||||
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: 'Get Release Notes'
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
script: |
|
|
||||||
$response = Invoke-WebRequest -Uri "https://ombireleasenote.azurewebsites.net/api/ReleaseNotesFunction?buildId=$(Build.BuildId)"
|
|
||||||
Write-Host "##vso[task.setvariable variable=ReleaseNotes;]$response"
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: 'Set Version'
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
script: |
|
|
||||||
dotnet tool install -g dotnet-setversion
|
|
||||||
setversion -r $(buildVersion)
|
|
||||||
|
|
||||||
- task: Yarn@3
|
|
||||||
displayName: 'Install UI Dependancies'
|
|
||||||
inputs:
|
|
||||||
projectDirectory: '$(uiLocation)'
|
|
||||||
arguments: 'install'
|
|
||||||
|
|
||||||
- task: Yarn@3
|
|
||||||
displayName: 'Build and Publish Angular App'
|
|
||||||
inputs:
|
|
||||||
projectDirectory: '$(uiLocation)'
|
|
||||||
arguments: 'run build'
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Run Unit Tests
|
|
||||||
inputs:
|
|
||||||
comand: 'test'
|
|
||||||
projects: '**/*Tests.csproj'
|
|
||||||
continueOnError: true
|
|
||||||
### 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
|
|
||||||
modifyOutputPath: false
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy Angular App Win10-x64'
|
|
||||||
inputs:
|
|
||||||
SourceFolder: '$(uiLocation)dist'
|
|
||||||
Contents: '**'
|
|
||||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/win-64/ClientApp/dist'
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Publish Win10-x86
|
|
||||||
inputs:
|
|
||||||
command: 'publish'
|
|
||||||
publishWebProjects: true
|
|
||||||
arguments: '-c $(buildConfiguration) -r "win10-x86" -o $(Build.ArtifactStagingDirectory)/win-86'
|
|
||||||
zipAfterPublish: false
|
|
||||||
modifyOutputPath: false
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy Angular App Win10-x86'
|
|
||||||
inputs:
|
|
||||||
SourceFolder: '$(uiLocation)dist'
|
|
||||||
Contents: '**'
|
|
||||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/win-86/ClientApp/dist'
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Publish OSX-x64
|
|
||||||
inputs:
|
|
||||||
command: 'publish'
|
|
||||||
publishWebProjects: true
|
|
||||||
arguments: '-c $(buildConfiguration) -r "osx-x64" -o $(Build.ArtifactStagingDirectory)/osx-64'
|
|
||||||
zipAfterPublish: false
|
|
||||||
modifyOutputPath: false
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy Angular App OSX-x64'
|
|
||||||
inputs:
|
|
||||||
SourceFolder: '$(uiLocation)dist'
|
|
||||||
Contents: '**'
|
|
||||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/osx-64/ClientApp/dist'
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Publish Linux-x64
|
|
||||||
inputs:
|
|
||||||
command: 'publish'
|
|
||||||
publishWebProjects: true
|
|
||||||
arguments: '-c $(buildConfiguration) -r "linux-x64" -o $(Build.ArtifactStagingDirectory)/linux-64'
|
|
||||||
zipAfterPublish: false
|
|
||||||
modifyOutputPath: false
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy Angular App Linux-x64'
|
|
||||||
inputs:
|
|
||||||
SourceFolder: '$(uiLocation)dist'
|
|
||||||
Contents: '**'
|
|
||||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/linux-64/ClientApp/dist'
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Publish Linux-ARM
|
|
||||||
inputs:
|
|
||||||
command: 'publish'
|
|
||||||
publishWebProjects: true
|
|
||||||
arguments: '-c $(buildConfiguration) -r "linux-arm" -o $(Build.ArtifactStagingDirectory)/linux-arm'
|
|
||||||
zipAfterPublish: false
|
|
||||||
modifyOutputPath: false
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy Angular App Linux-ARM'
|
|
||||||
inputs:
|
|
||||||
SourceFolder: '$(uiLocation)dist'
|
|
||||||
Contents: '**'
|
|
||||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/linux-arm/ClientApp/dist'
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Publish Linux-ARM-x64
|
|
||||||
inputs:
|
|
||||||
command: 'publish'
|
|
||||||
publishWebProjects: true
|
|
||||||
arguments: '-c $(buildConfiguration) -r "linux-arm64" -o $(Build.ArtifactStagingDirectory)/linux-arm64'
|
|
||||||
zipAfterPublish: false
|
|
||||||
modifyOutputPath: false
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy Angular App Linux-ARM64'
|
|
||||||
inputs:
|
|
||||||
SourceFolder: '$(uiLocation)dist'
|
|
||||||
Contents: '**'
|
|
||||||
TargetFolder: '$(Build.ArtifactStagingDirectory)/linux-arm64/ClientApp/dist'
|
|
||||||
|
|
||||||
### 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: false
|
|
||||||
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: false
|
|
||||||
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: false
|
|
||||||
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: false
|
|
||||||
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: false
|
|
||||||
archiveType: 'tar'
|
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/linux-arm64-$(Build.BuildId).tar.gz'
|
|
||||||
replaceExistingArchive: true
|
|
||||||
|
|
||||||
- task: GitHubRelease@1
|
|
||||||
inputs:
|
|
||||||
gitHubConnection: 'github.com_tidusjar'
|
|
||||||
repositoryName: 'tidusjar/Ombi.Releases'
|
|
||||||
action: 'create'
|
|
||||||
target: 'c7fcbb77b58aef1076d635a9ef99e4374abc8672'
|
|
||||||
tagSource: 'userSpecifiedTag'
|
|
||||||
tag: '$(gitTag)'
|
|
||||||
releaseNotesSource: 'inline'
|
|
||||||
releaseNotesInline: '$(ReleaseNotes)'
|
|
||||||
assets: |
|
|
||||||
$(Build.ArtifactStagingDirectory)/*.zip
|
|
||||||
$(Build.ArtifactStagingDirectory)/*.gz
|
|
||||||
isPreRelease: true
|
|
||||||
changeLogCompareToRelease: 'lastNonDraftRelease'
|
|
||||||
changeLogType: 'commitBased'
|
|
||||||
condition: and(succeeded(), eq(variables['PublishToGithub'], 'true'))
|
|
Loading…
Reference in new issue