diff --git a/ci-build.yaml b/ci-build.yaml index 08448d861..b504b2416 100644 --- a/ci-build.yaml +++ b/ci-build.yaml @@ -1,38 +1,193 @@ + + + # 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: - - feature/v4 + - 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: UseDotNet@2 - displayName: Use dotnet sdk - inputs: - packageType: 'sdk' - version: '3.x' -- task: DotNetCoreCLI@2 - displayName: Run Unit Tests - inputs: - command: 'test' - projects: '$(testProj)' - task: Yarn@3 - displayName: Build UI + 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: 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: 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' \ No newline at end of file diff --git a/src/Ombi/Ombi.csproj b/src/Ombi/Ombi.csproj index 7c0e5b583..f92849132 100644 --- a/src/Ombi/Ombi.csproj +++ b/src/Ombi/Ombi.csproj @@ -102,7 +102,7 @@ - +