# .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