From 550cd6649f82186b5cab3dd82a868a74d1f42e15 Mon Sep 17 00:00:00 2001 From: Liu Shilong Date: Tue, 27 Dec 2022 15:40:15 +0800 Subject: [PATCH] Fix sonic slave pipeline to set correct tag on sonic slave image. (#13177) Why I did it Currently sonic-slave-* tag is confusing. Set correct tag on sonic-slave-* image. Fix job name to fit the build. How I did it build amd image in amd64: sonic-slave-bullseye:cfe29bff67c sonic-slave-bullseye:latest sonic-slave-bullseye:master build armhf image in amd64: sonic-slave-bullseye-march-armhf:33614806dc3 sonic-slave-bullseye-march-armhf:latest sonic-slave-bullseye-march-armhf:master build arm64 image in amd64: sonic-slave-bullseye-march-arm64:f3b1b16c801 sonic-slave-bullseye-march-arm64:latest sonic-slave-bullseye-march-arm64:master build arm64 image in arm64: sonic-slave-bullseye:75cb326c9a7 sonic-slave-bullseye-arm64:latest sonic-slave-bullseye:master build armhf image in armhf: sonic-slave-bullseye:64d178951fc sonic-slave-bullseye-armhf:latest sonic-slave-bullseye:master How to verify it --- .azure-pipelines/docker-sonic-slave-template.yml | 8 +++++--- .azure-pipelines/docker-sonic-slave.yml | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.azure-pipelines/docker-sonic-slave-template.yml b/.azure-pipelines/docker-sonic-slave-template.yml index abc955457f..c3a33917e0 100644 --- a/.azure-pipelines/docker-sonic-slave-template.yml +++ b/.azure-pipelines/docker-sonic-slave-template.yml @@ -35,7 +35,7 @@ parameters: - sonicbld-armhf jobs: -- job: Build_${{ parameters.dist }}_${{ parameters.march }}${{ parameters.arch }} +- job: sonic_slave_${{ parameters.dist }}${{ parameters.march }} timeoutInMinutes: 360 variables: - template: /.azure-pipelines/template-variables.yml@buildimage @@ -46,7 +46,6 @@ jobs: - template: /.azure-pipelines/template-clean-sonic-slave.yml@buildimage - checkout: self clean: true - submodules: recursive - task: Docker@2 displayName: Login to ACR inputs: @@ -56,6 +55,9 @@ jobs: set -ex image_tag=$(BLDENV=${{ parameters.dist }} make -f Makefile.work showtag PLATFORM=generic PLATFORM_ARCH=${{ parameters.arch }} | grep sonic-slave | tail -n 1) image_latest=$(echo $(echo $image_tag | awk -F: '{print$1}'):latest) + if echo ${{ parameters.pool }} | grep ${{ parameters.arch }};then + image_latest=$(echo ${image_latest} | sed 's/:/-${{ parameters.arch }}:/') + fi image_branch=$(echo $(echo $image_tag | awk -F: '{print$1}'):$(Build.SourceBranchName)) docker rmi $image_tag || true @@ -72,7 +74,7 @@ jobs: docker push ${REGISTRY_SERVER}/${image_tag} docker tag ${image_tag} ${REGISTRY_SERVER}/${image_branch} docker push ${REGISTRY_SERVER}/${image_branch} - if [[ "${{ parameters.arch }}" == "amd64" ]] && [[ "$(Build.SourceBranchName)" == "master" ]];then + if [[ "$(Build.SourceBranchName)" == "master" ]];then docker tag ${image_tag} ${REGISTRY_SERVER}/${image_latest} docker push ${REGISTRY_SERVER}/${image_latest} fi diff --git a/.azure-pipelines/docker-sonic-slave.yml b/.azure-pipelines/docker-sonic-slave.yml index 833a0d9606..4c679f7f95 100644 --- a/.azure-pipelines/docker-sonic-slave.yml +++ b/.azure-pipelines/docker-sonic-slave.yml @@ -56,7 +56,7 @@ parameters: default: sonicdev stages: -- stage: Build +- stage: Build_in_amd64 jobs: - ${{ each dist in parameters.dists }}: - ${{ if endswith(variables['Build.DefinitionName'], dist) }}: @@ -66,7 +66,9 @@ stages: pool: sonicbld arch: ${{ arch }} dist: ${{ dist }} -- stage: Build_march + ${{ if ne(arch, 'amd64') }}: + march: _march_${{ arch }} +- stage: Build_native_arm dependsOn: [] jobs: - ${{ each dist in parameters.dists }}: @@ -78,4 +80,4 @@ stages: pool: sonicbld-${{ arch }} arch: ${{ arch }} dist: ${{ dist }} - march: march_ + march: _${{ arch }}