summaryrefslogtreecommitdiffstats
path: root/.ci
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2019-09-26 15:29:33 +0200
committerZach Hilman <zachhilman@gmail.com>2019-09-26 15:29:33 +0200
commit0ba70558734bcd63f61e0ed485857604e96a2272 (patch)
tree67066fc82f442891693d7d7ea499c3fc8d592595 /.ci
parentci: Optionally prepend commit messages with environment variable (diff)
downloadyuzu-0ba70558734bcd63f61e0ed485857604e96a2272.tar
yuzu-0ba70558734bcd63f61e0ed485857604e96a2272.tar.gz
yuzu-0ba70558734bcd63f61e0ed485857604e96a2272.tar.bz2
yuzu-0ba70558734bcd63f61e0ed485857604e96a2272.tar.lz
yuzu-0ba70558734bcd63f61e0ed485857604e96a2272.tar.xz
yuzu-0ba70558734bcd63f61e0ed485857604e96a2272.tar.zst
yuzu-0ba70558734bcd63f61e0ed485857604e96a2272.zip
Diffstat (limited to '.ci')
-rw-r--r--.ci/templates/merge-private.yml47
-rw-r--r--.ci/templates/mergebot-private.yml23
2 files changed, 70 insertions, 0 deletions
diff --git a/.ci/templates/merge-private.yml b/.ci/templates/merge-private.yml
new file mode 100644
index 000000000..a640cfbde
--- /dev/null
+++ b/.ci/templates/merge-private.yml
@@ -0,0 +1,47 @@
+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 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)
+ 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..a673c5b01
--- /dev/null
+++ b/.ci/templates/mergebot-private.yml
@@ -0,0 +1,23 @@
+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'
+ inputs:
+ scriptSource: 'filePath'
+ scriptPath: '.ci/scripts/merge/apply-patches-by-label.py'
+ arguments: '${{ parameters.matchLabelPublic }} patches-public'
+ workingDirectory: '$(System.DefaultWorkingDirectory)'
+ - task: PythonScript@0
+ displayName: 'Discover, Download, and Apply Patches'
+ inputs:
+ scriptSource: 'filePath'
+ scriptPath: '.ci/scripts/merge/apply-patches-by-label-private.py'
+ arguments: '$(PrivateMergeUser) ${{ parameters.matchLabel }} patches-private'
+ workingDirectory: '$(System.DefaultWorkingDirectory)'