From c56822a4054eafa1a319c521689b0797fca462e6 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 2 Oct 2019 17:53:37 -0400 Subject: [PATCH 1/7] ci: Fix unset environment variable bug --- .ci/templates/build-single.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.ci/templates/build-single.yml b/.ci/templates/build-single.yml index 9bc27247e5..002f5d24f0 100644 --- a/.ci/templates/build-single.yml +++ b/.ci/templates/build-single.yml @@ -3,8 +3,6 @@ parameters: cache: 'false' 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 displayName: 'Prepare Environment' inputs: @@ -15,7 +13,7 @@ steps: key: yuzu-v1-$(BuildName)-$(BuildSuffix)-$(CacheSuffix) path: $(System.DefaultWorkingDirectory)/ccache 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' - script: chmod a+x ./.ci/scripts/$(ScriptFolder)/upload.sh && RELEASE_NAME=$(BuildName) ./.ci/scripts/$(ScriptFolder)/upload.sh displayName: 'Package Artifacts' From 49344111ccebf43d901c67fc7a9338516cb30d9d Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 2 Oct 2019 17:53:53 -0400 Subject: [PATCH 2/7] ci: Add Windows MSVC package script --- .ci/scripts/windows/upload.ps1 | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .ci/scripts/windows/upload.ps1 diff --git a/.ci/scripts/windows/upload.ps1 b/.ci/scripts/windows/upload.ps1 new file mode 100644 index 0000000000..de86e7390f --- /dev/null +++ b/.ci/scripts/windows/upload.ps1 @@ -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" \ No newline at end of file From 514b74a0989d31cc597e5883a652d68fe4f77612 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 2 Oct 2019 17:58:33 -0400 Subject: [PATCH 3/7] ci: Add MSVC build template --- .ci/templates/build-msvc.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .ci/templates/build-msvc.yml diff --git a/.ci/templates/build-msvc.yml b/.ci/templates/build-msvc.yml new file mode 100644 index 0000000000..906afa382c --- /dev/null +++ b/.ci/templates/build-msvc.yml @@ -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' From bfa60e2d4e6615b0c39ef2c1507930167aeab299 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 2 Oct 2019 17:58:52 -0400 Subject: [PATCH 4/7] ci: Use MSVC windows for mainline --- .ci/yuzu-mainline-step2.yml | 39 ++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/.ci/yuzu-mainline-step2.yml b/.ci/yuzu-mainline-step2.yml index fec724d118..a031941e5d 100644 --- a/.ci/yuzu-mainline-step2.yml +++ b/.ci/yuzu-mainline-step2.yml @@ -15,9 +15,42 @@ stages: dependsOn: format displayName: 'build' jobs: - - template: ./templates/build-standard.yml - parameters: - cache: 'true' + - job: build + displayName: 'standard' + 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 displayName: 'Release' dependsOn: build From d648cd562a7619990d8fc4a0988750f5f5fc705f Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 2 Oct 2019 18:23:05 -0400 Subject: [PATCH 5/7] ci: Use MSVC windows for patreon --- .ci/yuzu-mainline-step2.yml | 2 +- .ci/yuzu-patreon-step2.yml | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.ci/yuzu-mainline-step2.yml b/.ci/yuzu-mainline-step2.yml index a031941e5d..1c9b59a029 100644 --- a/.ci/yuzu-mainline-step2.yml +++ b/.ci/yuzu-mainline-step2.yml @@ -34,7 +34,7 @@ stages: parameters: artifactSource: 'false' cache: 'true' -- stage: build-win +- stage: build_win dependsOn: format displayName: 'build-windows' jobs: diff --git a/.ci/yuzu-patreon-step2.yml b/.ci/yuzu-patreon-step2.yml index 0801182240..23e45d9ddb 100644 --- a/.ci/yuzu-patreon-step2.yml +++ b/.ci/yuzu-patreon-step2.yml @@ -15,14 +15,16 @@ stages: dependsOn: format displayName: 'build' jobs: - - template: ./templates/build-standard.yml - parameters: - cache: 'true' -- stage: release - displayName: 'release' - dependsOn: build - jobs: - - job: azure - displayName: 'azure' + - job: build + displayName: 'windows-msvc' + pool: + vmImage: vs2017-win2016 steps: - - template: ./templates/release-universal.yml \ No newline at end of file + - template: ./templates/sync-source.yml + parameters: + artifactSource: $(parameters.artifactSource) + needSubmodules: 'true' + - template: ./templates/build-msvc.yml + parameters: + artifactSource: 'false' + cache: $(parameters.cache) From 53be058e7497abfda6d8312c83194cbd963ab097 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 2 Oct 2019 18:51:17 -0400 Subject: [PATCH 6/7] ci: Add Mainline tagline --- .ci/templates/mergebot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/templates/mergebot.yml b/.ci/templates/mergebot.yml index 5211efcc6d..a4c5c2a28c 100644 --- a/.ci/templates/mergebot.yml +++ b/.ci/templates/mergebot.yml @@ -11,5 +11,5 @@ steps: inputs: scriptSource: 'filePath' scriptPath: '.ci/scripts/merge/apply-patches-by-label.py' - arguments: '${{ parameters.matchLabel }} patches' + arguments: '${{ parameters.matchLabel }} Tagged patches' workingDirectory: '$(System.DefaultWorkingDirectory)' From a86e52a3751405920a2b93d4cd8f5ec0ef62bf2f Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Wed, 2 Oct 2019 18:54:05 -0400 Subject: [PATCH 7/7] ci: Correct mainline release dependency --- .ci/templates/release-download.yml | 2 +- .ci/yuzu-mainline-step2.yml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.ci/templates/release-download.yml b/.ci/templates/release-download.yml index 50ca06bb25..f7e30690f4 100644 --- a/.ci/templates/release-download.yml +++ b/.ci/templates/release-download.yml @@ -2,7 +2,7 @@ steps: - task: DownloadPipelineArtifact@2 displayName: 'Download Windows Release' inputs: - artifactName: 'yuzu-$(BuildName)-windows-mingw' + artifactName: 'yuzu-$(BuildName)-windows-msvc' buildType: 'current' targetPath: '$(Build.ArtifactStagingDirectory)' - task: DownloadPipelineArtifact@2 diff --git a/.ci/yuzu-mainline-step2.yml b/.ci/yuzu-mainline-step2.yml index 1c9b59a029..0c1af397b6 100644 --- a/.ci/yuzu-mainline-step2.yml +++ b/.ci/yuzu-mainline-step2.yml @@ -53,7 +53,9 @@ stages: cache: 'true' - stage: release displayName: 'Release' - dependsOn: build + dependsOn: + - build + - build_win jobs: - job: github displayName: 'GitHub Release'