77- ${{ each job_data in parameters.images }} :
88 - job : pkg_${{ job_data.job }}
99 displayName : " Prepare Image Package - ${{ job_data.displayName }} -"
10- condition : and(succeeded(), contains(variables['archiveVersion'], 'v'))
1110 ${{ if job_data.strategy }} :
1211 strategy : ${{ job_data.strategy }}
1312 ${{ if job_data.dependsOn }} :
@@ -45,16 +44,30 @@ jobs:
4544 ARCH : arm64
4645 GOARCH : arm64
4746 steps :
47+ - script : |
48+ if [ -z "$(archiveVersion)" ] || [ "$(archiveVersion)" = "undefined" ] || [ "$(archiveVersion)" = "null" ]; then
49+ echo "##vso[task.logissue type=error]archiveVersion is invalid or empty: '$(archiveVersion)'"
50+ echo "##vso[task.setvariable variable=archiveVersionValid]false"
51+ else
52+ echo "archiveVersion is valid: $(archiveVersion)"
53+ echo "##vso[task.setvariable variable=archiveVersionValid]true"
54+ fi
55+ displayName: "Validate Archive Version"
56+ continueOnError: true
57+
4858 - task : DownloadPipelineArtifact@2
59+ condition : and( succeeded(), eq(variables['archiveVersionValid'], 'true'))
4960 inputs :
5061 targetPath : $(REPO_ROOT)
5162 artifact : ' ${{ job_data.templateContext.repositoryArtifact }}'
5263
5364 - task : GoTool@0
65+ condition : and( succeeded(), eq(variables['archiveVersionValid'], 'true'))
5466 inputs :
5567 version : ' $(GOVERSION)'
5668
5769 - task : ShellScript@2
70+ condition : and( succeeded(), eq(variables['archiveVersionValid'], 'true'))
5871 inputs :
5972 scriptPath : $(REPO_ROOT)/${{ job_data.templateContext.buildScript }}
6073
6578 env:
6679 SOURCE: $(REPO_ROOT)/${{ job_data.templateContext.obDockerfile }}
6780 DEST: $(OUT_DIR)/Dockerfile
81+ condition: and( succeeded(), eq(variables['archiveVersionValid';isOutput=true], 'true'))
6882
6983 - task : onebranch.pipeline.signing@1
84+ condition : and( succeeded(), eq(variables['archiveVersionValid';isOutput=true], 'true'))
7085 inputs :
7186 command : ' sign'
7287 signing_profile : ' external_distribution'
@@ -78,15 +93,17 @@ jobs:
7893 displayName : " Package with DropGZ"
7994 condition : and(
8095 succeeded(),
81- eq(variables.packageWithDropGZ, 'True'))
96+ eq(variables.packageWithDropGZ, 'True'),
97+ eq(variables['archiveVersionValid'], 'true'))
8298 inputs :
8399 scriptPath : $(REPO_ROOT)/.pipelines/build/scripts/dropgz.sh
84100
85101 - ${{ if not(contains(job_data.job, 'linux')) }} :
86102 - task : onebranch.pipeline.signing@1
87103 condition : and(
88104 succeeded(),
89- eq(variables.packageWithDropGZ, 'True'))
105+ eq(variables.packageWithDropGZ, 'True'),
106+ eq(variables['archiveVersionValid'], 'true'))
90107 inputs :
91108 command : ' sign'
92109 signing_profile : ' external_distribution'
@@ -122,6 +139,7 @@ jobs:
122139 ob_artifactSuffix : _$(name)
123140 ob_git_checkout : false
124141 ob_extract_root_artifact : true
142+ archiveVersionValid : $[ dependencies.pkg_${{ job_data.job }}.outputs['validateArchive.archiveVersionValid'] ]
125143 ${{ if eq(job_data.job, 'linux_amd64') }} :
126144 LinuxContainerImage : ' mcr.microsoft.com/onebranch/azurelinux/build:3.0'
127145 ARCH : amd64
0 commit comments