From 66ecdc19453fdc8a75c62479807e3c49af0ab371 Mon Sep 17 00:00:00 2001 From: Michael Andescavage Date: Thu, 17 Mar 2022 15:27:47 -0700 Subject: [PATCH 1/2] adding release_tag functionality to support releasing by tag or commit Initial commit to pass build tag as var logic if tag is empty adding export to inline script bash friendly bash friendly troubleshooting variables found typo in template var reference --- .../onebranch/pipeline.buildrp.official.yml | 29 ++++++++++--------- .../pipeline.buildrp.pullrequest.yml | 29 ++++++++++--------- .../templates/template-buildrp-buildaro.yml | 11 +++++++ .../template-buildrp-builddocker.yml | 2 +- 4 files changed, 42 insertions(+), 29 deletions(-) diff --git a/.pipelines/onebranch/pipeline.buildrp.official.yml b/.pipelines/onebranch/pipeline.buildrp.official.yml index 7245dee49bf..cf865495667 100644 --- a/.pipelines/onebranch/pipeline.buildrp.official.yml +++ b/.pipelines/onebranch/pipeline.buildrp.official.yml @@ -47,20 +47,6 @@ extends: suppressionSet: default stages: - - stage: Build_Docker_Image - jobs: - - job: Build_Docker_Image - pool: - type: docker - os: linux - - variables: - ob_git_checkout: true - - steps: - - template: .pipelines/onebranch/templates/template-buildrp-builddocker.yml@self - - - stage: Build_ARO jobs: - job: Build_ARO @@ -72,3 +58,18 @@ extends: steps: - template: .pipelines/onebranch/templates/template-buildrp-buildaro.yml@self + + - stage: Build_Docker_Image + dependsOn: Build_ARO + jobs: + - job: Build_Docker_Image + pool: + type: docker + os: linux + + variables: + ob_git_checkout: true + release_tag: $[ stageDependencies.Build_ARO.Build_ARO.outputs['buildaro.releasetag'] ] + + steps: + - template: .pipelines/onebranch/templates/template-buildrp-builddocker.yml@self diff --git a/.pipelines/onebranch/pipeline.buildrp.pullrequest.yml b/.pipelines/onebranch/pipeline.buildrp.pullrequest.yml index 8ddd206866a..4fad8c6c139 100644 --- a/.pipelines/onebranch/pipeline.buildrp.pullrequest.yml +++ b/.pipelines/onebranch/pipeline.buildrp.pullrequest.yml @@ -45,9 +45,22 @@ extends: suppression: suppressionFile: $(Build.SourcesDirectory)\.gdn\.gdnsuppress suppressionSet: default - + stages: + - stage: Build_ARO + jobs: + - job: Build_ARO + pool: + type: linux + + variables: # More settings at https://aka.ms/obpipelines/yaml/jobs + ob_outputDirectory: $(Build.SourcesDirectory)/out # this directory is uploaded to pipeline artifacts, reddog and cloudvault. More info at https://aka.ms/obpipelines/artifacts + + steps: + - template: .pipelines/onebranch/templates/template-buildrp-buildaro.yml@self + - stage: Build_Docker_Image + dependsOn: Build_ARO jobs: - job: Build_Docker_Image pool: @@ -56,19 +69,7 @@ extends: variables: ob_git_checkout: true + release_tag: $[ stageDependencies.Build_ARO.Build_ARO.outputs['buildaro.releasetag'] ] steps: - template: .pipelines/onebranch/templates/template-buildrp-builddocker.yml@self - - - - stage: Build_ARO - jobs: - - job: Build_ARO - pool: - type: linux - - variables: # More settings at https://aka.ms/obpipelines/yaml/jobs - ob_outputDirectory: $(Build.SourcesDirectory)/out # this directory is uploaded to pipeline artifacts, reddog and cloudvault. More info at https://aka.ms/obpipelines/artifacts - - steps: - - template: .pipelines/onebranch/templates/template-buildrp-buildaro.yml@self diff --git a/.pipelines/onebranch/templates/template-buildrp-buildaro.yml b/.pipelines/onebranch/templates/template-buildrp-buildaro.yml index 5cd18914659..941d020f622 100644 --- a/.pipelines/onebranch/templates/template-buildrp-buildaro.yml +++ b/.pipelines/onebranch/templates/template-buildrp-buildaro.yml @@ -5,6 +5,16 @@ steps: targetType: inline script: | export GOPATH=$(Agent.TempDirectory) + export TAG=$(git describe --exact-match 2>/dev/null) + export COMMIT=$(git rev-parse --short=7 HEAD)$([[ $(git status --porcelain) = "" ]] || echo -dirty) + if [ -z "$TAG" ]; + then + export VERSION=${COMMIT} + else + export VERSION=${TAG} + fi + echo "Version: ${VERSION}" + echo "##vso[task.setvariable variable=releasetag;isOutput=true]${VERSION}" mkdir -p $(Agent.TempDirectory)/src/github.com/Azure/ cp -rd $(Build.SourcesDirectory) $(Agent.TempDirectory)/src/github.com/Azure/ARO-RP cd $(Agent.TempDirectory)/src/github.com/Azure/ARO-RP @@ -12,6 +22,7 @@ steps: mkdir -p $(ob_outputDirectory) cp aro $(ob_outputDirectory)/aro workingDirectory: $(Build.SourcesDirectory) + name: buildaro - task: Bash@3 displayName: 🕵️ Validate FIPS inputs: diff --git a/.pipelines/onebranch/templates/template-buildrp-builddocker.yml b/.pipelines/onebranch/templates/template-buildrp-builddocker.yml index 5ec9414e52c..867edc356f4 100644 --- a/.pipelines/onebranch/templates/template-buildrp-builddocker.yml +++ b/.pipelines/onebranch/templates/template-buildrp-builddocker.yml @@ -9,4 +9,4 @@ steps: saveImageToPath: aro-rp.tar buildkit: 1 enable_network: true - build_tag: $(Build.SourceBranchName) + build_tag: $(release_tag) From fbf20b2b22af7b482efda23503951743a11a1c36 Mon Sep 17 00:00:00 2001 From: Michael Andescavage Date: Mon, 21 Mar 2022 20:31:34 -0700 Subject: [PATCH 2/2] Fixing yml due to format-yaml.py findings --- .pipelines/onebranch/pipeline.buildrp.official.yml | 4 ++-- .pipelines/onebranch/pipeline.buildrp.pullrequest.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.pipelines/onebranch/pipeline.buildrp.official.yml b/.pipelines/onebranch/pipeline.buildrp.official.yml index cf865495667..922dfa4c664 100644 --- a/.pipelines/onebranch/pipeline.buildrp.official.yml +++ b/.pipelines/onebranch/pipeline.buildrp.official.yml @@ -69,7 +69,7 @@ extends: variables: ob_git_checkout: true - release_tag: $[ stageDependencies.Build_ARO.Build_ARO.outputs['buildaro.releasetag'] ] - + release_tag: $[stageDependencies.Build_ARO.Build_ARO.outputs['buildaro.releasetag']] + steps: - template: .pipelines/onebranch/templates/template-buildrp-builddocker.yml@self diff --git a/.pipelines/onebranch/pipeline.buildrp.pullrequest.yml b/.pipelines/onebranch/pipeline.buildrp.pullrequest.yml index 4fad8c6c139..19e13ad96f4 100644 --- a/.pipelines/onebranch/pipeline.buildrp.pullrequest.yml +++ b/.pipelines/onebranch/pipeline.buildrp.pullrequest.yml @@ -45,7 +45,7 @@ extends: suppression: suppressionFile: $(Build.SourcesDirectory)\.gdn\.gdnsuppress suppressionSet: default - + stages: - stage: Build_ARO jobs: @@ -69,7 +69,7 @@ extends: variables: ob_git_checkout: true - release_tag: $[ stageDependencies.Build_ARO.Build_ARO.outputs['buildaro.releasetag'] ] + release_tag: $[stageDependencies.Build_ARO.Build_ARO.outputs['buildaro.releasetag']] steps: - template: .pipelines/onebranch/templates/template-buildrp-builddocker.yml@self