# .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: name: Default vmImage: 'windows-latest' variables: - group: main-pipeline-keys - name: solution value: 'Wabbajack.sln' - name: buildPlatform value: 'x64' - name: buildConfiguration value: 'Debug' steps: - checkout: self clean: true submodules: true - task: NuGetToolInstaller@1 - task: NuGetCommand@2 inputs: restoreSolution: '$(solution)' - task: VSBuild@1 inputs: solution: '**\*.sln' platform: '$(buildPlatform)' configuration: '$(buildConfiguration)' #- task: VSTest@2 # inputs: # platform: '$(buildPlatform)' # configuration: '$(buildConfiguration)' # testFiltercriteria: 'TestCategory!=ListValidation' # runInParallel: true # otherConsoleOptions: /Framework:netcoreapp3.1 # testAssemblyVer2: | # **\*.Test.dll # diagnosticsEnabled: true # collectDumpOn: 'always' - task: DotNetCoreCLI@2 inputs: command: 'test' projects: '**/*.Test.csproj' arguments: '/p:Platform=x64' - task: DownloadSecureFile@1 inputs: secureFile: 'CertFile.p12' - task: codesigning@2 condition: eq(variables['Build.SourceBranch'], 'refs/heads/master') inputs: secureFileId: 'CertFile.p12' signCertPassword: '$(CertPassword)' files: '$(System.DefaultWorkingDirectory)/Wabbajack/bin/x64/Debug/netcoreapp3.1/Wabbajack.exe' timeServer: 'http://timestamp.digicert.com' hashingAlgorithm: 'SHA256' description: 'Wabbajack Modlist Installer' #- task: CmdLine@2 # inputs: # script: 'pip install requests' #- task: PythonScript@0 # condition: eq(variables['Build.SourceBranch'], 'refs/heads/master') # inputs: # scriptSource: 'inline' # script: | # import requests, sys # # url = 'https://www.virustotal.com/vtapi/v2/file/scan' # # params = {'apikey': sys.argv[1]} # # files = {'file': ('Wabbajack.exe', open(sys.argv[2], 'rb'))} # # response = requests.post(url, files=files, params=params) # # print(response.json()) # arguments: '$(VirusTotalAPIKey) $(System.DefaultWorkingDirectory)/Wabbajack/bin/x64/Debug/Wabbajack.exe' # - task: ArchiveFiles@2 inputs: rootFolderOrFile: '$(System.DefaultWorkingDirectory)/Wabbajack/bin/x64/Debug/netcoreapp3.1' includeRootFolder: false archiveType: 'zip' archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip' replaceExistingArchive: true verbose: true - task: PublishBuildArtifacts@1 condition: eq(variables['Build.SourceBranch'], 'refs/heads/master') inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/Wabbajack.zip' ArtifactName: 'Wabbajack.zip' publishLocation: 'Container'