mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
137 lines
3.9 KiB
YAML
137 lines
3.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:
|
|
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: DotNetCoreCLI@2
|
|
displayName: "Build Release"
|
|
inputs:
|
|
command: 'build'
|
|
projects: 'Wabbajack\Wabbajack.csproj'
|
|
arguments: '--runtime win10-x64 --configuration Release /p:Platform=x64'
|
|
|
|
- task: DotNetCoreCLI@2
|
|
displayName: "Test Release"
|
|
inputs:
|
|
command: 'test'
|
|
projects: '**/*.Test.csproj'
|
|
arguments: '/p:Platform=x64 /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:CoverletOutput=$(Build.SourcesDirectory)/CodeCoverage'
|
|
|
|
- task: DotNetCoreCLI@2
|
|
inputs:
|
|
command: 'publish'
|
|
publishWebProjects: false
|
|
projects: 'Wabbajack\Wabbajack.csproj'
|
|
zipAfterPublish: false
|
|
modifyOutputPath: false
|
|
arguments: '--runtime win10-x64 --configuration Release /p:Platform=x64 -o $(System.DefaultWorkingDirectory)/PublishApp --self-contained'
|
|
|
|
- task: DotNetCoreCLI@2
|
|
inputs:
|
|
command: 'publish'
|
|
publishWebProjects: false
|
|
projects: 'Wabbajack.Launcher\Wabbajack.Launcher.csproj'
|
|
zipAfterPublish: false
|
|
modifyOutputPath: false
|
|
arguments: '--runtime win10-x64 --configuration Release /p:Platform=x64 -o $(System.DefaultWorkingDirectory)/PublishLauncher --self-contained'
|
|
|
|
- task: DownloadSecureFile@1
|
|
inputs:
|
|
secureFile: 'CertFile.p12'
|
|
- task: codesigning@2
|
|
displayName: "Sign main app"
|
|
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
|
|
inputs:
|
|
secureFileId: 'CertFile.p12'
|
|
signCertPassword: '$(CertPassword)'
|
|
files: '$(System.DefaultWorkingDirectory)/PublishApp/*abbajack*.exe'
|
|
hashingAlgorithm: 'SHA256'
|
|
description: 'Wabbajack Modlist Installer'
|
|
|
|
- task: codesigning@2
|
|
displayName: "Sign launcher"
|
|
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
|
|
inputs:
|
|
secureFileId: 'CertFile.p12'
|
|
signCertPassword: '$(CertPassword)'
|
|
files: '$(System.DefaultWorkingDirectory)/PublishLauncher/*abbajack*.exe'
|
|
hashingAlgorithm: 'SHA256'
|
|
description: 'Wabbajack Modlist Installer Launcher'
|
|
|
|
|
|
|
|
#- 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)/PublishApp'
|
|
includeRootFolder: false
|
|
archiveType: 'zip'
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/Wabbajack.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'
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
|
|
inputs:
|
|
PathtoPublish: '$(System.DefaultWorkingDirectory)/PublishLauncher/Wabbajack.exe'
|
|
ArtifactName: 'Wabbajack.exe'
|
|
publishLocation: 'Container'
|