summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.ci/scripts/windows/upload.ps132
-rw-r--r--.ci/templates/build-msvc.yml21
-rw-r--r--.ci/templates/build-single.yml4
-rw-r--r--.ci/templates/mergebot.yml2
-rw-r--r--.ci/templates/release-download.yml2
-rw-r--r--.ci/yuzu-mainline-step2.yml43
-rw-r--r--.ci/yuzu-patreon-step2.yml22
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
15mkdir pdb
16Get-ChildItem "$BUILD_DIR\" -Recurse -Filter "*.pdb" | Copy-Item -destination .\pdb
177z a -tzip $MSVC_BUILD_PDB .\pdb\*.pdb
18rm "$BUILD_DIR\*.pdb"
19mkdir $RELEASE_DIST
20mkdir "artifacts"
21
22Copy-Item "$BUILD_DIR\*" -Destination $RELEASE_DIST -Recurse
23rm "$RELEASE_DIST\*.exe"
24Get-ChildItem "$BUILD_DIR" -Recurse -Filter "yuzu*.exe" | Copy-Item -destination $RELEASE_DIST
25Get-ChildItem "$BUILD_DIR" -Recurse -Filter "QtWebEngineProcess*.exe" | Copy-Item -destination $RELEASE_DIST
26Copy-Item .\license.txt -Destination $RELEASE_DIST
27Copy-Item .\README.md -Destination $RELEASE_DIST
287z a -tzip $MSVC_BUILD_ZIP $RELEASE_DIST\*
297z a $MSVC_SEVENZIP $RELEASE_DIST
30
31Get-ChildItem . -Filter "*.zip" | Copy-Item -destination "artifacts"
32Get-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 @@
1parameters:
2 artifactSource: 'true'
3 cache: 'false'
4
5steps:
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
5steps: 5steps:
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)