From 037f03d60a9ee588b66de3d9f3666f0e1c227839 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Fri, 21 Aug 2020 21:30:18 -0500 Subject: [PATCH 1/9] ci: add zip-upload template --- .../vsts/platforms/templates/zip-upload.yml | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 script/vsts/platforms/templates/zip-upload.yml diff --git a/script/vsts/platforms/templates/zip-upload.yml b/script/vsts/platforms/templates/zip-upload.yml new file mode 100644 index 00000000000..6c87cf50d55 --- /dev/null +++ b/script/vsts/platforms/templates/zip-upload.yml @@ -0,0 +1,34 @@ +parameters: + # artifacts files or directory + # props: + # - path + # - condition + - name: artifacts + type: object + default: {} + # the path to store the 7z file + # the file is overwritten for each artifact + - name: uploadPath + type: string + default: $(Build.ArtifactStagingDirectory)/artifact_zip_upload.7z + +steps: + - ${{ each artifact in parameters.artifacts }}: + - task: ArchiveFiles@2 + inputs: + rootFolderOrFile: ${{artifact.path}} + archiveType: 7z + sevenZipCompression: ultra + archiveFile: ${{parameters.uploadPath}} + replaceExistingArchive: true + displayName: Compress ${{artifact.path}} + ${{ if artifact.condition }}: + condition: ${{artifact.condition}} + + - task: PublishBuildArtifacts@1 + inputs: + PathtoPublish: ${{parameters.uploadPath}} + ArtifactName: ${{artifact.path}} + displayName: Upload ${{artifact.path}} + ${{ if artifact.condition }}: + condition: ${{artifact.condition}} From 59c15a123844732e09750e92a54535c2b802ebef Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Fri, 21 Aug 2020 22:01:29 -0500 Subject: [PATCH 2/9] upload bootstrapped repository to provide a ready development environment (similar to a pre-built docker image) Only uploaded the release job --- script/vsts/platforms/templates/bootstrap.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/script/vsts/platforms/templates/bootstrap.yml b/script/vsts/platforms/templates/bootstrap.yml index 9cd3c12a8e6..8f005c69ad7 100644 --- a/script/vsts/platforms/templates/bootstrap.yml +++ b/script/vsts/platforms/templates/bootstrap.yml @@ -24,3 +24,11 @@ steps: CI: true CI_PROVIDER: VSTS condition: or(ne(variables['MainNodeModulesRestored'], 'true'), ne(variables['ScriptRunnerNodeModulesRestored'], true), ne(variables['ScriptNodeModulesRestored'], 'true'), ne(variables['ApmNodeModulesRestored'], 'true'), ne(variables['LocalPackagesRestored'], 'true')) + + # upload bootstraped repository + # to provide a ready development environment (similar to a pre-built docker image) + - template: ./zip-upload.yml + parameters: + artifacts: + - path: '.' + condition: and(succeeded(), eq(variables['Atom.AutoDraftRelease'], 'true'), eq(variables['IsReleaseBranch'], 'true')) From 7f6654c6f19a7e79059b160ae42ddfad80c7a9a3 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Sat, 22 Aug 2020 01:05:04 -0500 Subject: [PATCH 3/9] temp: upload bootsrap --- script/vsts/platforms/templates/bootstrap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/vsts/platforms/templates/bootstrap.yml b/script/vsts/platforms/templates/bootstrap.yml index 8f005c69ad7..4920cd9b358 100644 --- a/script/vsts/platforms/templates/bootstrap.yml +++ b/script/vsts/platforms/templates/bootstrap.yml @@ -31,4 +31,4 @@ steps: parameters: artifacts: - path: '.' - condition: and(succeeded(), eq(variables['Atom.AutoDraftRelease'], 'true'), eq(variables['IsReleaseBranch'], 'true')) + condition: succeeded() From 5a95e697070f46e02f64cc46ee8d2e7d4567e821 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Wed, 26 Aug 2020 20:43:26 -0500 Subject: [PATCH 4/9] use publish template --- script/vsts/platforms/templates/bootstrap.yml | 2 ++ .../vsts/platforms/templates/zip-upload.yml | 23 ++++++++----------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/script/vsts/platforms/templates/bootstrap.yml b/script/vsts/platforms/templates/bootstrap.yml index 4920cd9b358..63938a63f45 100644 --- a/script/vsts/platforms/templates/bootstrap.yml +++ b/script/vsts/platforms/templates/bootstrap.yml @@ -32,3 +32,5 @@ steps: artifacts: - path: '.' condition: succeeded() + archiveFileName: bootstrapped_repository_$(AGENT_OS)_$(buildArch).7z + archiveDir: $(Build.ArtifactStagingDirectory) diff --git a/script/vsts/platforms/templates/zip-upload.yml b/script/vsts/platforms/templates/zip-upload.yml index 6c87cf50d55..a40cf3c0ff3 100644 --- a/script/vsts/platforms/templates/zip-upload.yml +++ b/script/vsts/platforms/templates/zip-upload.yml @@ -3,14 +3,11 @@ parameters: # props: # - path # - condition + # - archiveFileName + # - archiveDir - name: artifacts type: object default: {} - # the path to store the 7z file - # the file is overwritten for each artifact - - name: uploadPath - type: string - default: $(Build.ArtifactStagingDirectory)/artifact_zip_upload.7z steps: - ${{ each artifact in parameters.artifacts }}: @@ -19,16 +16,16 @@ steps: rootFolderOrFile: ${{artifact.path}} archiveType: 7z sevenZipCompression: ultra - archiveFile: ${{parameters.uploadPath}} + archiveFile: ${{artifact.archiveDir}}/${{artifact.archiveFileName}} replaceExistingArchive: true displayName: Compress ${{artifact.path}} ${{ if artifact.condition }}: condition: ${{artifact.condition}} - - task: PublishBuildArtifacts@1 - inputs: - PathtoPublish: ${{parameters.uploadPath}} - ArtifactName: ${{artifact.path}} - displayName: Upload ${{artifact.path}} - ${{ if artifact.condition }}: - condition: ${{artifact.condition}} + - template: ./publish.yml + parameters: + artifacts: + - filename: ${{artifact.archiveFileName}} + dir: ${{artifact.archiveDir}} + ${{ if artifact.condition }}: + condition: ${{artifact.condition}} From 42764eeaa8151b4ee929febdf53d3711fabfa32f Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Wed, 26 Aug 2020 20:45:07 -0500 Subject: [PATCH 5/9] Use normal 7z compression Benchmarks: total size: 1.74 GB method/time/final_size ultra 2:19 494MB maximum 1:52 511MB normal 1:12 528MB fast 0:40 604MB fastest 0:32 658MB --- script/vsts/platforms/templates/zip-upload.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/vsts/platforms/templates/zip-upload.yml b/script/vsts/platforms/templates/zip-upload.yml index a40cf3c0ff3..daa619beb4a 100644 --- a/script/vsts/platforms/templates/zip-upload.yml +++ b/script/vsts/platforms/templates/zip-upload.yml @@ -15,7 +15,7 @@ steps: inputs: rootFolderOrFile: ${{artifact.path}} archiveType: 7z - sevenZipCompression: ultra + sevenZipCompression: normal archiveFile: ${{artifact.archiveDir}}/${{artifact.archiveFileName}} replaceExistingArchive: true displayName: Compress ${{artifact.path}} From efb6ab47114a77a30d206feee656e93f56539f19 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Fri, 28 Aug 2020 00:52:42 -0500 Subject: [PATCH 6/9] IsBuild variable This shows if we are running the build job or the test job --- script/vsts/platforms/linux.yml | 1 + script/vsts/platforms/macos.yml | 1 + script/vsts/platforms/windows.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/script/vsts/platforms/linux.yml b/script/vsts/platforms/linux.yml index e8c1a2d8096..a65d59c988d 100644 --- a/script/vsts/platforms/linux.yml +++ b/script/vsts/platforms/linux.yml @@ -4,6 +4,7 @@ jobs: timeoutInMinutes: 180 variables: ReleaseVersion: $[ dependencies.GetReleaseVersion.outputs['Version.ReleaseVersion'] ] + IsBuild: true pool: vmImage: ubuntu-18.04 diff --git a/script/vsts/platforms/macos.yml b/script/vsts/platforms/macos.yml index 52ea6ae94f9..c00a6dc94d5 100644 --- a/script/vsts/platforms/macos.yml +++ b/script/vsts/platforms/macos.yml @@ -9,6 +9,7 @@ jobs: IsReleaseBranch: $[ dependencies.GetReleaseVersion.outputs['Version.IsReleaseBranch'] ] IsSignedZipBranch: $[ dependencies.GetReleaseVersion.outputs['Version.IsSignedZipBranch'] ] RunCoreMainTests: true + IsBuild: true pool: vmImage: macos-10.15 diff --git a/script/vsts/platforms/windows.yml b/script/vsts/platforms/windows.yml index ac71ef5fb3f..10b81ea3b67 100644 --- a/script/vsts/platforms/windows.yml +++ b/script/vsts/platforms/windows.yml @@ -21,6 +21,7 @@ jobs: ReleaseVersion: $[ dependencies.GetReleaseVersion.outputs['Version.ReleaseVersion'] ] IsReleaseBranch: $[ dependencies.GetReleaseVersion.outputs['Version.IsReleaseBranch'] ] IsSignedZipBranch: $[ dependencies.GetReleaseVersion.outputs['Version.IsSignedZipBranch'] ] + IsBuild: true steps: - template: templates/preparation.yml From 32d5ab4b0182a1cb10ebf9259b2186397f4f3430 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Fri, 28 Aug 2020 00:54:27 -0500 Subject: [PATCH 7/9] Upload the bootstrapped repo only in build job --- script/vsts/platforms/templates/bootstrap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/vsts/platforms/templates/bootstrap.yml b/script/vsts/platforms/templates/bootstrap.yml index 63938a63f45..46ec589a7ae 100644 --- a/script/vsts/platforms/templates/bootstrap.yml +++ b/script/vsts/platforms/templates/bootstrap.yml @@ -31,6 +31,6 @@ steps: parameters: artifacts: - path: '.' - condition: succeeded() + condition: and(succeeded(), eq(variables.IsBuild, 'true')) archiveFileName: bootstrapped_repository_$(AGENT_OS)_$(buildArch).7z archiveDir: $(Build.ArtifactStagingDirectory) From 5658e4681273cc6def181dc789a2da46d9bdb427 Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Fri, 28 Aug 2020 03:40:11 -0500 Subject: [PATCH 8/9] Use Agent.OS instead of AGENT_OS --- script/vsts/platforms/templates/bootstrap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/vsts/platforms/templates/bootstrap.yml b/script/vsts/platforms/templates/bootstrap.yml index 46ec589a7ae..aace0df956b 100644 --- a/script/vsts/platforms/templates/bootstrap.yml +++ b/script/vsts/platforms/templates/bootstrap.yml @@ -32,5 +32,5 @@ steps: artifacts: - path: '.' condition: and(succeeded(), eq(variables.IsBuild, 'true')) - archiveFileName: bootstrapped_repository_$(AGENT_OS)_$(buildArch).7z + archiveFileName: bootstrapped_repository_$(Agent.OS)_$(buildArch).7z archiveDir: $(Build.ArtifactStagingDirectory) From 9b4f97dfb912a8e5becb5337f19d426ddd12741f Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Tue, 9 Feb 2021 01:39:41 -0600 Subject: [PATCH 9/9] Use BUILD_ARCH --- script/vsts/platforms/templates/bootstrap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/vsts/platforms/templates/bootstrap.yml b/script/vsts/platforms/templates/bootstrap.yml index aace0df956b..6c6898ff890 100644 --- a/script/vsts/platforms/templates/bootstrap.yml +++ b/script/vsts/platforms/templates/bootstrap.yml @@ -32,5 +32,5 @@ steps: artifacts: - path: '.' condition: and(succeeded(), eq(variables.IsBuild, 'true')) - archiveFileName: bootstrapped_repository_$(Agent.OS)_$(buildArch).7z + archiveFileName: bootstrapped_repository_$(Agent.OS)_$(BUILD_ARCH).7z archiveDir: $(Build.ArtifactStagingDirectory)