mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-22 02:41:49 -05:00
Merge pull request #2937 from DarkLordZach/azure-msvc
ci: Add windows MSVC builds to patreon and mainline pipelines
This commit is contained in:
commit
6bfabdedfd
7 changed files with 107 additions and 19 deletions
32
.ci/scripts/windows/upload.ps1
Normal file
32
.ci/scripts/windows/upload.ps1
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
$GITDATE = $(git show -s --date=short --format='%ad') -replace "-",""
|
||||||
|
$GITREV = $(git show -s --format='%h')
|
||||||
|
$RELEASE_DIST = "yuzu-windows-msvc"
|
||||||
|
|
||||||
|
$MSVC_BUILD_ZIP = "yuzu-windows-msvc-$GITDATE-$GITREV.zip" -replace " ", ""
|
||||||
|
$MSVC_BUILD_PDB = "yuzu-windows-msvc-$GITDATE-$GITREV-debugsymbols.zip" -replace " ", ""
|
||||||
|
$MSVC_SEVENZIP = "yuzu-windows-msvc-$GITDATE-$GITREV.7z" -replace " ", ""
|
||||||
|
|
||||||
|
$env:BUILD_ZIP = $MSVC_BUILD_ZIP
|
||||||
|
$env:BUILD_SYMBOLS = $MSVC_BUILD_PDB
|
||||||
|
$env:BUILD_UPDATE = $MSVC_SEVENZIP
|
||||||
|
|
||||||
|
$BUILD_DIR = ".\build\bin\Release"
|
||||||
|
|
||||||
|
mkdir pdb
|
||||||
|
Get-ChildItem "$BUILD_DIR\" -Recurse -Filter "*.pdb" | Copy-Item -destination .\pdb
|
||||||
|
7z a -tzip $MSVC_BUILD_PDB .\pdb\*.pdb
|
||||||
|
rm "$BUILD_DIR\*.pdb"
|
||||||
|
mkdir $RELEASE_DIST
|
||||||
|
mkdir "artifacts"
|
||||||
|
|
||||||
|
Copy-Item "$BUILD_DIR\*" -Destination $RELEASE_DIST -Recurse
|
||||||
|
rm "$RELEASE_DIST\*.exe"
|
||||||
|
Get-ChildItem "$BUILD_DIR" -Recurse -Filter "yuzu*.exe" | Copy-Item -destination $RELEASE_DIST
|
||||||
|
Get-ChildItem "$BUILD_DIR" -Recurse -Filter "QtWebEngineProcess*.exe" | Copy-Item -destination $RELEASE_DIST
|
||||||
|
Copy-Item .\license.txt -Destination $RELEASE_DIST
|
||||||
|
Copy-Item .\README.md -Destination $RELEASE_DIST
|
||||||
|
7z a -tzip $MSVC_BUILD_ZIP $RELEASE_DIST\*
|
||||||
|
7z a $MSVC_SEVENZIP $RELEASE_DIST
|
||||||
|
|
||||||
|
Get-ChildItem . -Filter "*.zip" | Copy-Item -destination "artifacts"
|
||||||
|
Get-ChildItem . -Filter "*.7z" | Copy-Item -destination "artifacts"
|
21
.ci/templates/build-msvc.yml
Normal file
21
.ci/templates/build-msvc.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
parameters:
|
||||||
|
artifactSource: 'true'
|
||||||
|
cache: 'false'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- script: mkdir build && cd build && set DATE=`date '+%Y.%m.%d'` && set CI=true && set AZURE_REPO_NAME=yuzu-emu/yuzu-$(BuildName) && set AZURE_REPO_TAG=$(BuildName)-$DATE && cmake -G "Visual Studio 15 2017 Win64" --config Release -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_BUNDLED_UNICORN=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DUSE_DISCORD_PRESENCE=ON .. && cd ..
|
||||||
|
displayName: 'Configure CMake'
|
||||||
|
- task: MSBuild@1
|
||||||
|
displayName: 'Build'
|
||||||
|
inputs:
|
||||||
|
solution: 'build/yuzu.sln'
|
||||||
|
maximumCpuCount: true
|
||||||
|
configuration: release
|
||||||
|
- task: PowerShell@2
|
||||||
|
displayName: 'Package Artifacts'
|
||||||
|
inputs:
|
||||||
|
targetType: 'filePath'
|
||||||
|
filePath: './.ci/scripts/windows/upload.ps1'
|
||||||
|
- publish: artifacts
|
||||||
|
artifact: 'yuzu-$(BuildName)-windows-msvc'
|
||||||
|
displayName: 'Upload Artifacts'
|
|
@ -3,8 +3,6 @@ parameters:
|
||||||
cache: 'false'
|
cache: 'false'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- script: export DATE=`date '+%Y.%m.%d'` && export CI=true && AZURE_REPO_NAME=yuzu-emu/yuzu-$(BuildName) && AZURE_REPO_TAG=$(BuildName)-$DATE
|
|
||||||
displayName: 'Determine Build Name'
|
|
||||||
- task: DockerInstaller@0
|
- task: DockerInstaller@0
|
||||||
displayName: 'Prepare Environment'
|
displayName: 'Prepare Environment'
|
||||||
inputs:
|
inputs:
|
||||||
|
@ -15,7 +13,7 @@ steps:
|
||||||
key: yuzu-v1-$(BuildName)-$(BuildSuffix)-$(CacheSuffix)
|
key: yuzu-v1-$(BuildName)-$(BuildSuffix)-$(CacheSuffix)
|
||||||
path: $(System.DefaultWorkingDirectory)/ccache
|
path: $(System.DefaultWorkingDirectory)/ccache
|
||||||
cacheHitVar: CACHE_RESTORED
|
cacheHitVar: CACHE_RESTORED
|
||||||
- script: chmod a+x ./.ci/scripts/$(ScriptFolder)/exec.sh && ./.ci/scripts/$(ScriptFolder)/exec.sh
|
- script: export DATE=`date '+%Y.%m.%d'` && export CI=true && export AZURE_REPO_NAME=yuzu-emu/yuzu-$(BuildName) && export AZURE_REPO_TAG=$(BuildName)-$DATE && chmod a+x ./.ci/scripts/$(ScriptFolder)/exec.sh && ./.ci/scripts/$(ScriptFolder)/exec.sh
|
||||||
displayName: 'Build'
|
displayName: 'Build'
|
||||||
- script: chmod a+x ./.ci/scripts/$(ScriptFolder)/upload.sh && RELEASE_NAME=$(BuildName) ./.ci/scripts/$(ScriptFolder)/upload.sh
|
- script: chmod a+x ./.ci/scripts/$(ScriptFolder)/upload.sh && RELEASE_NAME=$(BuildName) ./.ci/scripts/$(ScriptFolder)/upload.sh
|
||||||
displayName: 'Package Artifacts'
|
displayName: 'Package Artifacts'
|
||||||
|
|
|
@ -11,5 +11,5 @@ steps:
|
||||||
inputs:
|
inputs:
|
||||||
scriptSource: 'filePath'
|
scriptSource: 'filePath'
|
||||||
scriptPath: '.ci/scripts/merge/apply-patches-by-label.py'
|
scriptPath: '.ci/scripts/merge/apply-patches-by-label.py'
|
||||||
arguments: '${{ parameters.matchLabel }} patches'
|
arguments: '${{ parameters.matchLabel }} Tagged patches'
|
||||||
workingDirectory: '$(System.DefaultWorkingDirectory)'
|
workingDirectory: '$(System.DefaultWorkingDirectory)'
|
||||||
|
|
|
@ -2,7 +2,7 @@ steps:
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
displayName: 'Download Windows Release'
|
displayName: 'Download Windows Release'
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: 'yuzu-$(BuildName)-windows-mingw'
|
artifactName: 'yuzu-$(BuildName)-windows-msvc'
|
||||||
buildType: 'current'
|
buildType: 'current'
|
||||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
|
|
|
@ -15,12 +15,47 @@ stages:
|
||||||
dependsOn: format
|
dependsOn: format
|
||||||
displayName: 'build'
|
displayName: 'build'
|
||||||
jobs:
|
jobs:
|
||||||
- template: ./templates/build-standard.yml
|
- job: build
|
||||||
parameters:
|
displayName: 'standard'
|
||||||
cache: 'true'
|
pool:
|
||||||
|
vmImage: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
maxParallel: 10
|
||||||
|
matrix:
|
||||||
|
linux:
|
||||||
|
BuildSuffix: 'linux'
|
||||||
|
ScriptFolder: 'linux'
|
||||||
|
steps:
|
||||||
|
- template: ./templates/sync-source.yml
|
||||||
|
parameters:
|
||||||
|
artifactSource: $(parameters.artifactSource)
|
||||||
|
needSubmodules: 'true'
|
||||||
|
- template: ./templates/build-single.yml
|
||||||
|
parameters:
|
||||||
|
artifactSource: 'false'
|
||||||
|
cache: 'true'
|
||||||
|
- stage: build_win
|
||||||
|
dependsOn: format
|
||||||
|
displayName: 'build-windows'
|
||||||
|
jobs:
|
||||||
|
- job: build
|
||||||
|
displayName: 'msvc'
|
||||||
|
pool:
|
||||||
|
vmImage: vs2017-win2016
|
||||||
|
steps:
|
||||||
|
- template: ./templates/sync-source.yml
|
||||||
|
parameters:
|
||||||
|
artifactSource: $(parameters.artifactSource)
|
||||||
|
needSubmodules: 'true'
|
||||||
|
- template: ./templates/build-msvc.yml
|
||||||
|
parameters:
|
||||||
|
artifactSource: 'false'
|
||||||
|
cache: 'true'
|
||||||
- stage: release
|
- stage: release
|
||||||
displayName: 'Release'
|
displayName: 'Release'
|
||||||
dependsOn: build
|
dependsOn:
|
||||||
|
- build
|
||||||
|
- build_win
|
||||||
jobs:
|
jobs:
|
||||||
- job: github
|
- job: github
|
||||||
displayName: 'GitHub Release'
|
displayName: 'GitHub Release'
|
||||||
|
|
|
@ -15,14 +15,16 @@ stages:
|
||||||
dependsOn: format
|
dependsOn: format
|
||||||
displayName: 'build'
|
displayName: 'build'
|
||||||
jobs:
|
jobs:
|
||||||
- template: ./templates/build-standard.yml
|
- job: build
|
||||||
parameters:
|
displayName: 'windows-msvc'
|
||||||
cache: 'true'
|
pool:
|
||||||
- stage: release
|
vmImage: vs2017-win2016
|
||||||
displayName: 'release'
|
|
||||||
dependsOn: build
|
|
||||||
jobs:
|
|
||||||
- job: azure
|
|
||||||
displayName: 'azure'
|
|
||||||
steps:
|
steps:
|
||||||
- template: ./templates/release-universal.yml
|
- template: ./templates/sync-source.yml
|
||||||
|
parameters:
|
||||||
|
artifactSource: $(parameters.artifactSource)
|
||||||
|
needSubmodules: 'true'
|
||||||
|
- template: ./templates/build-msvc.yml
|
||||||
|
parameters:
|
||||||
|
artifactSource: 'false'
|
||||||
|
cache: $(parameters.cache)
|
||||||
|
|
Loading…
Reference in a new issue