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 diff --git a/.ci/yuzu-mainline-step1.yml b/.ci/yuzu-mainline-step1.yml new file mode 100644 index 000000000..3fd33d75a --- /dev/null +++ b/.ci/yuzu-mainline-step1.yml @@ -0,0 +1,8 @@ +trigger: +- master + +stages: +- stage: merge + displayName: 'merge' + jobs: + - template: ./templates/merge.yml diff --git a/.ci/yuzu-mainline.yml b/.ci/yuzu-mainline-step2.yml similarity index 68% rename from .ci/yuzu-mainline.yml rename to .ci/yuzu-mainline-step2.yml index 2930a8564..fec724d11 100644 --- a/.ci/yuzu-mainline.yml +++ b/.ci/yuzu-mainline-step2.yml @@ -2,12 +2,7 @@ trigger: - master stages: -- stage: merge - displayName: 'merge' - jobs: - - template: ./templates/merge.yml - stage: format - dependsOn: merge displayName: 'format' jobs: - job: format @@ -17,9 +12,17 @@ stages: steps: - template: ./templates/format-check.yml - stage: build - displayName: 'build' dependsOn: format + displayName: 'build' jobs: - template: ./templates/build-standard.yml parameters: cache: 'true' +- stage: release + displayName: 'Release' + dependsOn: build + jobs: + - job: github + displayName: 'GitHub Release' + steps: + - template: ./templates/release-github.yml \ No newline at end of file