1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-12 21:38:38 +00:00
Artemis/ci/azure-pipelines.yml
2021-02-22 19:49:20 +01:00

100 lines
2.9 KiB
YAML

# .NET Desktop
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
artemisSolution: '**/Artemis.sln'
NUGET_PACKAGES: $(Pipeline.Workspace)/.nuget/packages
BuildId: $(Build.BuildId)
BuildNumber: $(Build.BuildNumber)
SourceBranch: $(Build.SourceBranch)
SourceVersion: $(Build.SourceVersion)
steps:
- checkout: self
path: s/Artemis
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'specific'
project: '882fdc71-c09c-4923-8ab0-2cd9fcf0656d'
definition: '3'
buildVersionToDownload: 'latest'
artifactName: 'RGB.NET development build'
targetPath: '$(Pipeline.Workspace)/s/RGB.NET/bin/net5.0'
- task: DotNetCoreCLI@2
displayName: 'dotnet restore Artemis'
inputs:
command: 'restore'
projects: '$(artemisSolution)'
feedsToUse: 'config'
nugetConfigPath: '$(Pipeline.Workspace)/s/Artemis/src/NuGet.Config'
- task: DotNetCoreCLI@2
displayName: 'Publish Artemis'
inputs:
command: 'publish'
publishWebProjects: false
projects: '$(artemisSolution)'
arguments: '--runtime win-x64 --self-contained false --output $(Build.ArtifactStagingDirectory)/build /nowarn:cs1591'
zipAfterPublish: false
modifyOutputPath: false
- task: DownloadPipelineArtifact@2
inputs:
buildType: 'specific'
project: '882fdc71-c09c-4923-8ab0-2cd9fcf0656d'
definition: '2'
buildVersionToDownload: 'latest'
artifactName: 'Artemis build'
targetPath: '$(Build.ArtifactStagingDirectory)/build'
- task: FileTransform@1
displayName: 'Populate buildinfo.json'
inputs:
folderPath: '$(Build.ArtifactStagingDirectory)/build'
fileType: 'json'
targetFiles: '**/buildinfo.json'
- task: PublishPipelineArtifact@1
displayName: 'Upload build to Azure Pipelines'
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)/build'
artifact: 'Artemis build'
publishLocation: 'pipeline'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/build'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/archive/artemis-build.zip'
replaceExistingArchive: true
- task: PowerShell@2
inputs:
targetType: 'inline'
script: '(Get-FileHash .\artemis-build.zip).Hash | Out-File -FilePath .\hash.txt'
workingDirectory: '$(Build.ArtifactStagingDirectory)/archive'
- task: FtpUpload@2
displayName: "Binaries FTP upload"
inputs:
credentialsOption: 'inputs'
serverUrl: 'ftp://artemis-rgb.com'
username: 'devops'
password: '$(ftp_password)'
rootDirectory: '$(Build.ArtifactStagingDirectory)/archive'
filePatterns: '**'
remoteDirectory: '/builds.artemis-rgb.com/binaries/$(Build.SourceBranchName)/$(Build.BuildNumber)'
clean: false
preservePaths: true
trustSSL: false