diff options
Diffstat (limited to '')
-rw-r--r-- | .ci/templates/build-mock.yml | 5 | ||||
-rw-r--r-- | .ci/templates/build-msvc.yml | 22 | ||||
-rw-r--r-- | .ci/templates/build-single.yml | 16 | ||||
-rw-r--r-- | .ci/templates/build-standard.yml | 6 | ||||
-rw-r--r-- | .ci/templates/build-testing.yml | 4 | ||||
-rw-r--r-- | .ci/templates/merge-private.yml | 37 | ||||
-rw-r--r-- | .ci/templates/merge.yml | 12 | ||||
-rw-r--r-- | .ci/templates/mergebot-private.yml | 30 | ||||
-rw-r--r-- | .ci/templates/mergebot.yml | 2 | ||||
-rw-r--r-- | .ci/templates/release-download.yml | 13 | ||||
-rw-r--r-- | .ci/templates/release-github.yml | 13 | ||||
-rw-r--r-- | .ci/templates/release-private-tag.yml | 9 | ||||
-rw-r--r-- | .ci/templates/release-universal.yml | 10 |
13 files changed, 158 insertions, 21 deletions
diff --git a/.ci/templates/build-mock.yml b/.ci/templates/build-mock.yml new file mode 100644 index 000000000..0318a0ad8 --- /dev/null +++ b/.ci/templates/build-mock.yml @@ -0,0 +1,5 @@ +steps: + - script: mkdir artifacts || echo 'X' > artifacts/T1.txt + - publish: artifacts + artifact: 'yuzu-$(BuildName)-mock' + displayName: 'Upload 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..b44a08247 --- /dev/null +++ b/.ci/templates/build-msvc.yml @@ -0,0 +1,22 @@ +parameters: + artifactSource: 'true' + cache: 'false' + version: '' + +steps: +- script: mkdir build && cd build && 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 -DDISPLAY_VERSION=${{ parameters['version'] }} .. && 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' diff --git a/.ci/templates/build-single.yml b/.ci/templates/build-single.yml index 357731eb9..7b27693be 100644 --- a/.ci/templates/build-single.yml +++ b/.ci/templates/build-single.yml @@ -1,20 +1,20 @@ parameters: artifactSource: 'true' cache: 'false' + version: '' steps: - task: DockerInstaller@0 displayName: 'Prepare Environment' inputs: dockerVersion: '17.09.0-ce' -- ${{ if eq(parameters.cache, 'true') }}: - - task: CacheBeta@0 - displayName: 'Cache Build System' - inputs: - 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 +- task: CacheBeta@0 + displayName: 'Cache Build System' + inputs: + 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 ${{ parameters['version'] }} displayName: 'Build' - script: chmod a+x ./.ci/scripts/$(ScriptFolder)/upload.sh && RELEASE_NAME=$(BuildName) ./.ci/scripts/$(ScriptFolder)/upload.sh displayName: 'Package Artifacts' diff --git a/.ci/templates/build-standard.yml b/.ci/templates/build-standard.yml index aa180894e..7422c8346 100644 --- a/.ci/templates/build-standard.yml +++ b/.ci/templates/build-standard.yml @@ -1,3 +1,6 @@ +parameters: + version: '' + jobs: - job: build displayName: 'standard' @@ -20,4 +23,5 @@ jobs: - template: ./build-single.yml parameters: artifactSource: 'false' - cache: $(parameters.cache)
\ No newline at end of file + cache: $(parameters.cache) + version: $(parameters.version)
\ No newline at end of file diff --git a/.ci/templates/build-testing.yml b/.ci/templates/build-testing.yml index 4c9625944..30c8aaac3 100644 --- a/.ci/templates/build-testing.yml +++ b/.ci/templates/build-testing.yml @@ -1,3 +1,6 @@ +parameters: + version: '' + jobs: - job: build_test displayName: 'testing' @@ -31,3 +34,4 @@ jobs: parameters: artifactSource: 'false' cache: 'false' + version: $(parameters.version)
\ No newline at end of file diff --git a/.ci/templates/merge-private.yml b/.ci/templates/merge-private.yml new file mode 100644 index 000000000..f15a74355 --- /dev/null +++ b/.ci/templates/merge-private.yml @@ -0,0 +1,37 @@ +jobs: +- job: merge + displayName: 'pull requests' + steps: + - checkout: self + submodules: recursive + - template: ./mergebot-private.yml + parameters: + matchLabel: '$(BuildName)-merge' + matchLabelPublic: '$(PublicBuildName)-merge' + - task: ArchiveFiles@2 + displayName: 'Package Source' + inputs: + rootFolderOrFile: '$(System.DefaultWorkingDirectory)' + includeRootFolder: false + archiveType: '7z' + archiveFile: '$(Build.ArtifactStagingDirectory)/yuzu-$(BuildName)-source.7z' + - task: PublishPipelineArtifact@1 + displayName: 'Upload Artifacts' + inputs: + targetPath: '$(Build.ArtifactStagingDirectory)/yuzu-$(BuildName)-source.7z' + artifact: 'yuzu-$(BuildName)-source' + replaceExistingArchive: true +- job: upload_source + displayName: 'upload' + dependsOn: merge + steps: + - template: ./sync-source.yml + parameters: + artifactSource: 'true' + needSubmodules: 'true' + - script: chmod a+x $(System.DefaultWorkingDirectory)/.ci/scripts/merge/yuzubot-git-config.sh && $(System.DefaultWorkingDirectory)/.ci/scripts/merge/yuzubot-git-config.sh + displayName: 'Apply Git Configuration' + - script: git remote add other $(GitRepoPushChangesURL) + displayName: 'Register Repository' + - script: git push --force other HEAD:$(GitPushBranch) + displayName: 'Update Code' diff --git a/.ci/templates/merge.yml b/.ci/templates/merge.yml index efc82778a..460dfa1c1 100644 --- a/.ci/templates/merge.yml +++ b/.ci/templates/merge.yml @@ -30,17 +30,7 @@ jobs: needSubmodules: 'true' - script: chmod a+x $(System.DefaultWorkingDirectory)/.ci/scripts/merge/yuzubot-git-config.sh && $(System.DefaultWorkingDirectory)/.ci/scripts/merge/yuzubot-git-config.sh displayName: 'Apply Git Configuration' - - script: git tag -a $(BuildName)-$(Build.BuildId) -m "yuzu $(BuildName) $(Build.BuildNumber) $(Build.DefinitionName)" - displayName: 'Tag Source' - script: git remote add other $(GitRepoPushChangesURL) displayName: 'Register Repository' - - script: git push --follow-tags --force other HEAD:$(GitPushBranch) + - script: git push --force other HEAD:$(GitPushBranch) displayName: 'Update Code' - - script: git rev-list -n 1 $(BuildName)-$(Build.BuildId) > $(Build.ArtifactStagingDirectory)/tag-commit.sha - displayName: 'Calculate Release Point' - - task: PublishPipelineArtifact@1 - displayName: 'Upload Release Point' - inputs: - targetPath: '$(Build.ArtifactStagingDirectory)/tag-commit.sha' - artifact: 'yuzu-$(BuildName)-release-point' - replaceExistingArchive: true
\ No newline at end of file diff --git a/.ci/templates/mergebot-private.yml b/.ci/templates/mergebot-private.yml new file mode 100644 index 000000000..f9a40cf61 --- /dev/null +++ b/.ci/templates/mergebot-private.yml @@ -0,0 +1,30 @@ +parameters: + matchLabel: 'dummy-merge' + matchLabelPublic: 'dummy-merge' + +steps: + - script: mkdir $(System.DefaultWorkingDirectory)/patches && pip install requests urllib3 + displayName: 'Prepare Environment' + - script: chmod a+x $(System.DefaultWorkingDirectory)/.ci/scripts/merge/yuzubot-git-config.sh && $(System.DefaultWorkingDirectory)/.ci/scripts/merge/yuzubot-git-config.sh + displayName: 'Apply Git Configuration' + - task: PythonScript@0 + displayName: 'Discover, Download, and Apply Patches (Mainline)' + inputs: + scriptSource: 'filePath' + scriptPath: '.ci/scripts/merge/apply-patches-by-label.py' + arguments: '${{ parameters.matchLabelPublic }} $(MergeTaglinePublic) patches-public' + workingDirectory: '$(System.DefaultWorkingDirectory)' + - task: PythonScript@0 + displayName: 'Discover, Download, and Apply Patches (Patreon Public)' + inputs: + scriptSource: 'filePath' + scriptPath: '.ci/scripts/merge/apply-patches-by-label.py' + arguments: '${{ parameters.matchLabel }} "$(MergeTaglinePrivate) Public" patches-mixed-public' + workingDirectory: '$(System.DefaultWorkingDirectory)' + - task: PythonScript@0 + displayName: 'Discover, Download, and Apply Patches (Patreon Private)' + inputs: + scriptSource: 'filePath' + scriptPath: '.ci/scripts/merge/apply-patches-by-label-private.py' + arguments: '$(PrivateMergeUser) ${{ parameters.matchLabel }} "$(MergeTaglinePrivate) Private" patches-private' + workingDirectory: '$(System.DefaultWorkingDirectory)' 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: inputs: scriptSource: 'filePath' scriptPath: '.ci/scripts/merge/apply-patches-by-label.py' - arguments: '${{ parameters.matchLabel }} patches' + arguments: '${{ parameters.matchLabel }} Tagged patches' workingDirectory: '$(System.DefaultWorkingDirectory)' diff --git a/.ci/templates/release-download.yml b/.ci/templates/release-download.yml new file mode 100644 index 000000000..f7e30690f --- /dev/null +++ b/.ci/templates/release-download.yml @@ -0,0 +1,13 @@ +steps: + - task: DownloadPipelineArtifact@2 + displayName: 'Download Windows Release' + inputs: + artifactName: 'yuzu-$(BuildName)-windows-msvc' + buildType: 'current' + targetPath: '$(Build.ArtifactStagingDirectory)' + - task: DownloadPipelineArtifact@2 + displayName: 'Download Linux Release' + inputs: + artifactName: 'yuzu-$(BuildName)-linux' + buildType: 'current' + targetPath: '$(Build.ArtifactStagingDirectory)'
\ No newline at end of file diff --git a/.ci/templates/release-github.yml b/.ci/templates/release-github.yml new file mode 100644 index 000000000..c200954f1 --- /dev/null +++ b/.ci/templates/release-github.yml @@ -0,0 +1,13 @@ +steps: + - template: ./release-download.yml + - task: GitHubRelease@0 + displayName: 'GitHub Release' + inputs: + action: 'create' + title: '$(ReleasePrefix) $(DisplayVersion)' + assets: '$(Build.ArtifactStagingDirectory)/*' + gitHubConnection: $(GitHubReleaseConnectionName) + repositoryName: '$(Build.Repository.Name)' + target: '$(Build.SourceVersion)' + tagSource: manual + tag: $(BuildName)-$(DisplayPrefix)-$(DisplayVersion)
\ No newline at end of file diff --git a/.ci/templates/release-private-tag.yml b/.ci/templates/release-private-tag.yml new file mode 100644 index 000000000..e80d57593 --- /dev/null +++ b/.ci/templates/release-private-tag.yml @@ -0,0 +1,9 @@ +steps: + - script: chmod a+x $(System.DefaultWorkingDirectory)/.ci/scripts/merge/yuzubot-git-config.sh && $(System.DefaultWorkingDirectory)/.ci/scripts/merge/yuzubot-git-config.sh + displayName: 'Apply Git Configuration' + - script: git tag -a $(BuildName)-$(DisplayPrefix)-$(DisplayVersion) -m "yuzu $(BuildName) $(Build.BuildNumber) $(Build.DefinitionName) $(DisplayPrefix)-$(DisplayVersion)" + displayName: 'Tag Source' + - script: git remote add other $(GitRepoPushChangesURL) + displayName: 'Register Repository' + - script: git push other $(BuildName)-$(DisplayPrefix)-$(DisplayVersion) + displayName: 'Update Code'
\ No newline at end of file diff --git a/.ci/templates/release-universal.yml b/.ci/templates/release-universal.yml new file mode 100644 index 000000000..707697007 --- /dev/null +++ b/.ci/templates/release-universal.yml @@ -0,0 +1,10 @@ +steps: + - template: ./release-download.yml + - task: UniversalPackages@0 + displayName: Publish Artifacts + inputs: + command: publish + publishDirectory: '$(Build.ArtifactStagingDirectory)' + vstsFeedPublish: 'yuzu-$(BuildName)' + vstsFeedPackagePublish: 'main' + packagePublishDescription: 'Yuzu Windows and Linux Executable Packages'
\ No newline at end of file |