diff options
| -rw-r--r-- | .ci/scripts/windows/upload.ps1 | 32 | ||||
| -rw-r--r-- | .ci/templates/build-msvc.yml | 21 | ||||
| -rw-r--r-- | .ci/templates/build-single.yml | 4 | ||||
| -rw-r--r-- | .ci/templates/mergebot.yml | 2 | ||||
| -rw-r--r-- | .ci/templates/release-download.yml | 2 | ||||
| -rw-r--r-- | .ci/yuzu-mainline-step2.yml | 43 | ||||
| -rw-r--r-- | .ci/yuzu-patreon-step2.yml | 22 |
7 files changed, 107 insertions, 19 deletions
diff --git a/.ci/scripts/windows/upload.ps1 b/.ci/scripts/windows/upload.ps1 new file mode 100644 index 000000000..de86e7390 --- /dev/null +++ b/.ci/scripts/windows/upload.ps1 | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | $GITDATE = $(git show -s --date=short --format='%ad') -replace "-","" | ||
| 2 | $GITREV = $(git show -s --format='%h') | ||
| 3 | $RELEASE_DIST = "yuzu-windows-msvc" | ||
| 4 | |||
| 5 | $MSVC_BUILD_ZIP = "yuzu-windows-msvc-$GITDATE-$GITREV.zip" -replace " ", "" | ||
| 6 | $MSVC_BUILD_PDB = "yuzu-windows-msvc-$GITDATE-$GITREV-debugsymbols.zip" -replace " ", "" | ||
| 7 | $MSVC_SEVENZIP = "yuzu-windows-msvc-$GITDATE-$GITREV.7z" -replace " ", "" | ||
| 8 | |||
| 9 | $env:BUILD_ZIP = $MSVC_BUILD_ZIP | ||
| 10 | $env:BUILD_SYMBOLS = $MSVC_BUILD_PDB | ||
| 11 | $env:BUILD_UPDATE = $MSVC_SEVENZIP | ||
| 12 | |||
| 13 | $BUILD_DIR = ".\build\bin\Release" | ||
| 14 | |||
| 15 | mkdir pdb | ||
| 16 | Get-ChildItem "$BUILD_DIR\" -Recurse -Filter "*.pdb" | Copy-Item -destination .\pdb | ||
| 17 | 7z a -tzip $MSVC_BUILD_PDB .\pdb\*.pdb | ||
| 18 | rm "$BUILD_DIR\*.pdb" | ||
| 19 | mkdir $RELEASE_DIST | ||
| 20 | mkdir "artifacts" | ||
| 21 | |||
| 22 | Copy-Item "$BUILD_DIR\*" -Destination $RELEASE_DIST -Recurse | ||
| 23 | rm "$RELEASE_DIST\*.exe" | ||
| 24 | Get-ChildItem "$BUILD_DIR" -Recurse -Filter "yuzu*.exe" | Copy-Item -destination $RELEASE_DIST | ||
| 25 | Get-ChildItem "$BUILD_DIR" -Recurse -Filter "QtWebEngineProcess*.exe" | Copy-Item -destination $RELEASE_DIST | ||
| 26 | Copy-Item .\license.txt -Destination $RELEASE_DIST | ||
| 27 | Copy-Item .\README.md -Destination $RELEASE_DIST | ||
| 28 | 7z a -tzip $MSVC_BUILD_ZIP $RELEASE_DIST\* | ||
| 29 | 7z a $MSVC_SEVENZIP $RELEASE_DIST | ||
| 30 | |||
| 31 | Get-ChildItem . -Filter "*.zip" | Copy-Item -destination "artifacts" | ||
| 32 | Get-ChildItem . -Filter "*.7z" | Copy-Item -destination "artifacts" \ No newline at end of file | ||
diff --git a/.ci/templates/build-msvc.yml b/.ci/templates/build-msvc.yml new file mode 100644 index 000000000..906afa382 --- /dev/null +++ b/.ci/templates/build-msvc.yml | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | parameters: | ||
| 2 | artifactSource: 'true' | ||
| 3 | cache: 'false' | ||
| 4 | |||
| 5 | steps: | ||
| 6 | - 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 .. | ||
| 7 | displayName: 'Configure CMake' | ||
| 8 | - task: MSBuild@1 | ||
| 9 | displayName: 'Build' | ||
| 10 | inputs: | ||
| 11 | solution: 'build/yuzu.sln' | ||
| 12 | maximumCpuCount: true | ||
| 13 | configuration: release | ||
| 14 | - task: PowerShell@2 | ||
| 15 | displayName: 'Package Artifacts' | ||
| 16 | inputs: | ||
| 17 | targetType: 'filePath' | ||
| 18 | filePath: './.ci/scripts/windows/upload.ps1' | ||
| 19 | - publish: artifacts | ||
| 20 | artifact: 'yuzu-$(BuildName)-windows-msvc' | ||
| 21 | displayName: 'Upload Artifacts' | ||
diff --git a/.ci/templates/build-single.yml b/.ci/templates/build-single.yml index 9bc27247e..002f5d24f 100644 --- a/.ci/templates/build-single.yml +++ b/.ci/templates/build-single.yml | |||
| @@ -3,8 +3,6 @@ parameters: | |||
| 3 | cache: 'false' | 3 | cache: 'false' |
| 4 | 4 | ||
| 5 | steps: | 5 | steps: |
| 6 | - script: export DATE=`date '+%Y.%m.%d'` && export CI=true && AZURE_REPO_NAME=yuzu-emu/yuzu-$(BuildName) && AZURE_REPO_TAG=$(BuildName)-$DATE | ||
| 7 | displayName: 'Determine Build Name' | ||
| 8 | - task: DockerInstaller@0 | 6 | - task: DockerInstaller@0 |
| 9 | displayName: 'Prepare Environment' | 7 | displayName: 'Prepare Environment' |
| 10 | inputs: | 8 | inputs: |
| @@ -15,7 +13,7 @@ steps: | |||
| 15 | key: yuzu-v1-$(BuildName)-$(BuildSuffix)-$(CacheSuffix) | 13 | key: yuzu-v1-$(BuildName)-$(BuildSuffix)-$(CacheSuffix) |
| 16 | path: $(System.DefaultWorkingDirectory)/ccache | 14 | path: $(System.DefaultWorkingDirectory)/ccache |
| 17 | cacheHitVar: CACHE_RESTORED | 15 | cacheHitVar: CACHE_RESTORED |
| 18 | - script: chmod a+x ./.ci/scripts/$(ScriptFolder)/exec.sh && ./.ci/scripts/$(ScriptFolder)/exec.sh | 16 | - 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 |
| 19 | displayName: 'Build' | 17 | displayName: 'Build' |
| 20 | - script: chmod a+x ./.ci/scripts/$(ScriptFolder)/upload.sh && RELEASE_NAME=$(BuildName) ./.ci/scripts/$(ScriptFolder)/upload.sh | 18 | - script: chmod a+x ./.ci/scripts/$(ScriptFolder)/upload.sh && RELEASE_NAME=$(BuildName) ./.ci/scripts/$(ScriptFolder)/upload.sh |
| 21 | displayName: 'Package Artifacts' | 19 | displayName: 'Package Artifacts' |
diff --git a/.ci/templates/mergebot.yml b/.ci/templates/mergebot.yml index 5211efcc6..a4c5c2a28 100644 --- a/.ci/templates/mergebot.yml +++ b/.ci/templates/mergebot.yml | |||
| @@ -11,5 +11,5 @@ steps: | |||
| 11 | inputs: | 11 | inputs: |
| 12 | scriptSource: 'filePath' | 12 | scriptSource: 'filePath' |
| 13 | scriptPath: '.ci/scripts/merge/apply-patches-by-label.py' | 13 | scriptPath: '.ci/scripts/merge/apply-patches-by-label.py' |
| 14 | arguments: '${{ parameters.matchLabel }} patches' | 14 | arguments: '${{ parameters.matchLabel }} Tagged patches' |
| 15 | workingDirectory: '$(System.DefaultWorkingDirectory)' | 15 | workingDirectory: '$(System.DefaultWorkingDirectory)' |
diff --git a/.ci/templates/release-download.yml b/.ci/templates/release-download.yml index 50ca06bb2..f7e30690f 100644 --- a/.ci/templates/release-download.yml +++ b/.ci/templates/release-download.yml | |||
| @@ -2,7 +2,7 @@ steps: | |||
| 2 | - task: DownloadPipelineArtifact@2 | 2 | - task: DownloadPipelineArtifact@2 |
| 3 | displayName: 'Download Windows Release' | 3 | displayName: 'Download Windows Release' |
| 4 | inputs: | 4 | inputs: |
| 5 | artifactName: 'yuzu-$(BuildName)-windows-mingw' | 5 | artifactName: 'yuzu-$(BuildName)-windows-msvc' |
| 6 | buildType: 'current' | 6 | buildType: 'current' |
| 7 | targetPath: '$(Build.ArtifactStagingDirectory)' | 7 | targetPath: '$(Build.ArtifactStagingDirectory)' |
| 8 | - task: DownloadPipelineArtifact@2 | 8 | - task: DownloadPipelineArtifact@2 |
diff --git a/.ci/yuzu-mainline-step2.yml b/.ci/yuzu-mainline-step2.yml index fec724d11..0c1af397b 100644 --- a/.ci/yuzu-mainline-step2.yml +++ b/.ci/yuzu-mainline-step2.yml | |||
| @@ -15,12 +15,47 @@ stages: | |||
| 15 | dependsOn: format | 15 | dependsOn: format |
| 16 | displayName: 'build' | 16 | displayName: 'build' |
| 17 | jobs: | 17 | jobs: |
| 18 | - template: ./templates/build-standard.yml | 18 | - job: build |
| 19 | parameters: | 19 | displayName: 'standard' |
| 20 | cache: 'true' | 20 | pool: |
| 21 | vmImage: ubuntu-latest | ||
| 22 | strategy: | ||
| 23 | maxParallel: 10 | ||
| 24 | matrix: | ||
| 25 | linux: | ||
| 26 | BuildSuffix: 'linux' | ||
| 27 | ScriptFolder: 'linux' | ||
| 28 | steps: | ||
| 29 | - template: ./templates/sync-source.yml | ||
| 30 | parameters: | ||
| 31 | artifactSource: $(parameters.artifactSource) | ||
| 32 | needSubmodules: 'true' | ||
| 33 | - template: ./templates/build-single.yml | ||
| 34 | parameters: | ||
| 35 | artifactSource: 'false' | ||
| 36 | cache: 'true' | ||
| 37 | - stage: build_win | ||
| 38 | dependsOn: format | ||
| 39 | displayName: 'build-windows' | ||
| 40 | jobs: | ||
| 41 | - job: build | ||
| 42 | displayName: 'msvc' | ||
| 43 | pool: | ||
| 44 | vmImage: vs2017-win2016 | ||
| 45 | steps: | ||
| 46 | - template: ./templates/sync-source.yml | ||
| 47 | parameters: | ||
| 48 | artifactSource: $(parameters.artifactSource) | ||
| 49 | needSubmodules: 'true' | ||
| 50 | - template: ./templates/build-msvc.yml | ||
| 51 | parameters: | ||
| 52 | artifactSource: 'false' | ||
| 53 | cache: 'true' | ||
| 21 | - stage: release | 54 | - stage: release |
| 22 | displayName: 'Release' | 55 | displayName: 'Release' |
| 23 | dependsOn: build | 56 | dependsOn: |
| 57 | - build | ||
| 58 | - build_win | ||
| 24 | jobs: | 59 | jobs: |
| 25 | - job: github | 60 | - job: github |
| 26 | displayName: 'GitHub Release' | 61 | displayName: 'GitHub Release' |
diff --git a/.ci/yuzu-patreon-step2.yml b/.ci/yuzu-patreon-step2.yml index 080118224..23e45d9dd 100644 --- a/.ci/yuzu-patreon-step2.yml +++ b/.ci/yuzu-patreon-step2.yml | |||
| @@ -15,14 +15,16 @@ stages: | |||
| 15 | dependsOn: format | 15 | dependsOn: format |
| 16 | displayName: 'build' | 16 | displayName: 'build' |
| 17 | jobs: | 17 | jobs: |
| 18 | - template: ./templates/build-standard.yml | 18 | - job: build |
| 19 | parameters: | 19 | displayName: 'windows-msvc' |
| 20 | cache: 'true' | 20 | pool: |
| 21 | - stage: release | 21 | vmImage: vs2017-win2016 |
| 22 | displayName: 'release' | ||
| 23 | dependsOn: build | ||
| 24 | jobs: | ||
| 25 | - job: azure | ||
| 26 | displayName: 'azure' | ||
| 27 | steps: | 22 | steps: |
| 28 | - template: ./templates/release-universal.yml \ No newline at end of file | 23 | - template: ./templates/sync-source.yml |
| 24 | parameters: | ||
| 25 | artifactSource: $(parameters.artifactSource) | ||
| 26 | needSubmodules: 'true' | ||
| 27 | - template: ./templates/build-msvc.yml | ||
| 28 | parameters: | ||
| 29 | artifactSource: 'false' | ||
| 30 | cache: $(parameters.cache) | ||