From cc3db2aa43ee617ed5086976e0354c72feba713c Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Sun, 22 Sep 2019 16:01:29 -0400 Subject: ci: Split mainline pipeline and add support for GitHub releases (#2900) * ci: Add mock build alternative for fast testing * ci: Always cache build * ci: Extract steps to download build stage artifacts * ci: Add template to release to GitHub * ci: Add template to release to Azure Universal Artifacts * ci: Split mainline to two pipelines --- .ci/templates/build-mock.yml | 5 +++++ .ci/templates/build-single.yml | 13 ++++++------- .ci/templates/release-download.yml | 13 +++++++++++++ .ci/templates/release-github.yml | 11 +++++++++++ .ci/templates/release-universal.yml | 10 ++++++++++ 5 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 .ci/templates/build-mock.yml create mode 100644 .ci/templates/release-download.yml create mode 100644 .ci/templates/release-github.yml create mode 100644 .ci/templates/release-universal.yml (limited to '.ci/templates') diff --git a/.ci/templates/build-mock.yml b/.ci/templates/build-mock.yml new file mode 100644 index 000000000..e7aba93de --- /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)-$(BuildSuffix)' + displayName: 'Upload Artifacts' \ No newline at end of file diff --git a/.ci/templates/build-single.yml b/.ci/templates/build-single.yml index 357731eb9..cd9d1df88 100644 --- a/.ci/templates/build-single.yml +++ b/.ci/templates/build-single.yml @@ -7,13 +7,12 @@ steps: 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 +- 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 displayName: 'Build' - script: chmod a+x ./.ci/scripts/$(ScriptFolder)/upload.sh && RELEASE_NAME=$(BuildName) ./.ci/scripts/$(ScriptFolder)/upload.sh diff --git a/.ci/templates/release-download.yml b/.ci/templates/release-download.yml new file mode 100644 index 000000000..50ca06bb2 --- /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-mingw' + 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..39fd47f1c --- /dev/null +++ b/.ci/templates/release-github.yml @@ -0,0 +1,11 @@ +steps: + - template: ./release-download.yml + - task: GitHubRelease@0 + inputs: + action: 'create' + title: 'yuzu $(BuildName) #$(Build.BuildId)' + assets: '$(Build.ArtifactStagingDirectory)/*' + gitHubConnection: $(GitHubReleaseConnectionName) + repositoryName: '$(Build.Repository.Name)' + target: '$(Build.SourceVersion)' + tagSource: 'auto' \ 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 -- cgit v1.2.3