From 52b1284b56e3747644433d22eb1530c2b9bea7b9 Mon Sep 17 00:00:00 2001 From: Jamie Rees Date: Mon, 6 Jan 2020 21:08:55 +0000 Subject: [PATCH] CI improvements --- ci-build.yaml | 264 +++++++++++++++++++++++++------------------------- 1 file changed, 132 insertions(+), 132 deletions(-) diff --git a/ci-build.yaml b/ci-build.yaml index b3f293104..232652096 100644 --- a/ci-build.yaml +++ b/ci-build.yaml @@ -21,6 +21,7 @@ variables: buildConfiguration: 'Release' publishLocation: '$(Build.SourcesDirectory)/src/Ombi/bin/Release/netcoreapp3.0' gitTag: 'v4.0.$(Build.BuildId)' + uiLocation: '$(Build.SourcesDirectory)/src/Ombi/ClientApp/' pool: vmImage: 'ubuntu-latest' @@ -29,20 +30,20 @@ steps: - task: Yarn@3 displayName: 'Install UI Dependancies' inputs: - projectDirectory: '$(Build.SourcesDirectory)/src/Ombi/ClientApp/' + projectDirectory: '$(uiLocation)' arguments: 'install' - task: Yarn@3 - displayName: 'Build Angular App' + displayName: 'Build and Publish Angular App' inputs: - projectDirectory: '$(Build.SourcesDirectory)/src/Ombi/ClientApp/' + projectDirectory: '$(uiLocation)' arguments: 'run build' -#- task: DotNetCoreCLI@2 -# displayName: Run Unit Tests -# inputs: -# command: 'test' -# projects: '**/*Tests.csproj' +- task: DotNetCoreCLI@2 + displayName: Run Unit Tests + inputs: + command: 'test' + projects: '**/*Tests.csproj' ### Publish @@ -56,46 +57,81 @@ steps: modifyOutputPath: false - task: CopyFiles@2 - displayName: 'Publish Angular App Win10-x64' + displayName: 'Copy Angular App Win10-x64' inputs: - SourceFolder: '$(Build.SourcesDirectory)/src/Ombi/ClientApp/dist' + 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' - -#- 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' +- task: DotNetCoreCLI@2 + displayName: Publish Win10-x86 + inputs: + command: 'publish' + publishWebProjects: true + arguments: '-c $(buildConfiguration) -r "win10-x86" -o $(Build.ArtifactStagingDirectory)/win-86' + +- 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' + +- 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' + +- 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' + +- 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' + +- task: CopyFiles@2 + displayName: 'Copy Angular App Linux-ARM64' + inputs: + SourceFolder: '$(uiLocation)dist' + Contents: '**' + TargetFolder: '$(Build.ArtifactStagingDirectory)/linux-arm64/ClientApp/dist' ### Zip them up @@ -108,58 +144,57 @@ steps: 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: 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: @@ -174,39 +209,4 @@ steps: 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' \ No newline at end of file + changeLogType: 'commitBased' \ No newline at end of file