From a62bf3c6259cd50e4d6d41ce04c7155cd3c2c824 Mon Sep 17 00:00:00 2001 From: Feng Zhou Date: Sun, 17 May 2020 23:35:23 +0800 Subject: [PATCH 1/6] set noninteractive --- scripts/release/debian/pipeline.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/release/debian/pipeline.sh b/scripts/release/debian/pipeline.sh index 2c64eabdd77..9fc69966b43 100755 --- a/scripts/release/debian/pipeline.sh +++ b/scripts/release/debian/pipeline.sh @@ -16,6 +16,7 @@ docker run --rm \ -v "$SYSTEM_ARTIFACTSDIRECTORY":/mnt/artifacts \ -e CLI_VERSION=$CLI_VERSION \ -e CLI_VERSION_REVISION=1~$DISTRO \ + -e DEBIAN_FRONTEND=noninteractive $DISTRO_BASE_IMAGE \ /mnt/repo/scripts/release/debian/build.sh From 09a91d205cc698e6036d661cc6563717c857807b Mon Sep 17 00:00:00 2001 From: Feng Zhou Date: Tue, 12 May 2020 14:58:10 +0800 Subject: [PATCH 2/6] add focal package --- azure-pipelines.yml | 217 +++++++++----------------------------------- 1 file changed, 43 insertions(+), 174 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 04d9f4c8453..5963e2fc3bb 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -644,131 +644,25 @@ jobs: displayName: 'Bash Script' -- job: BuildUbuntuXenial - displayName: Build Ubuntu Xenial Package - - dependsOn: BuildPythonWheel - condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual')) - pool: - vmImage: 'ubuntu-16.04' - steps: - - task: DownloadPipelineArtifact@1 - displayName: 'Download Build Artifacts' - inputs: - TargetPath: '$(Build.ArtifactStagingDirectory)/pypi' - artifactName: pypi - - - - task: Bash@3 - displayName: 'Build Ubuntu Xenial Package' - inputs: - targetType: 'filePath' - filePath: scripts/release/debian/pipeline.sh - env: - DISTRO: xenial - DISTRO_BASE_IMAGE: ubuntu:xenial - - - task: PublishPipelineArtifact@0 - displayName: 'Publish Artifact: debian' - inputs: - TargetPath: $(Build.ArtifactStagingDirectory) - ArtifactName: ubuntu-xenial - -- job: BuildUbuntuTrusty - displayName: Build Ubuntu Trusty Package - - dependsOn: BuildPythonWheel - condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual')) - pool: - vmImage: 'ubuntu-16.04' - steps: - - task: DownloadPipelineArtifact@1 - displayName: 'Download Build Artifacts' - inputs: - TargetPath: '$(Build.ArtifactStagingDirectory)/pypi' - artifactName: pypi - - - - task: Bash@3 - displayName: 'Build Ubuntu Trusty Package' - inputs: - targetType: 'filePath' - filePath: scripts/release/debian/pipeline.sh - env: - DISTRO: trusty - DISTRO_BASE_IMAGE: ubuntu:trusty - - - - task: PublishPipelineArtifact@0 - displayName: 'Publish Artifact: debian' - inputs: - TargetPath: $(Build.ArtifactStagingDirectory) - ArtifactName: ubuntu-trusty - -- job: BuildUbuntuBionic - displayName: Build Ubuntu Bionic Package - - dependsOn: BuildPythonWheel - condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual')) - pool: - vmImage: 'ubuntu-16.04' - steps: - - task: DownloadPipelineArtifact@1 - displayName: 'Download Build Artifacts' - inputs: - TargetPath: '$(Build.ArtifactStagingDirectory)/pypi' - artifactName: pypi - - - - task: Bash@3 - displayName: 'Build Ubuntu Bionic Package' - inputs: - targetType: 'filePath' - filePath: scripts/release/debian/pipeline.sh - env: - DISTRO: bionic - DISTRO_BASE_IMAGE: ubuntu:bionic - - - - task: PublishPipelineArtifact@0 - displayName: 'Publish Artifact: debian' - inputs: - TargetPath: $(Build.ArtifactStagingDirectory) - ArtifactName: ubuntu-bionic - -- job: BuildUbuntuEoan - displayName: Build Ubuntu Eoan Package - - dependsOn: BuildPythonWheel - condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual')) - pool: - vmImage: 'ubuntu-16.04' - steps: - - task: DownloadPipelineArtifact@1 - displayName: 'Download Build Artifacts' - inputs: - TargetPath: '$(Build.ArtifactStagingDirectory)/pypi' - artifactName: pypi - - - bash: scripts/release/debian/pipeline.sh - displayName: 'Build Ubuntu Eoan Package' - env: - DISTRO: eoan - DISTRO_BASE_IMAGE: ubuntu:eoan - - - task: PublishPipelineArtifact@0 - displayName: 'Publish Artifact: debian' - inputs: - TargetPath: $(Build.ArtifactStagingDirectory) - ArtifactName: ubuntu-eoan - -- job: BuildDebianJessie - displayName: Build Debian Jessie Package +- job: BuildUbuntuPackages + displayName: Build Ubuntu Packages dependsOn: BuildPythonWheel condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual')) pool: vmImage: 'ubuntu-16.04' + strategy: + matrix: + Xenial: + distro: xenial + Trusty: + distro: trusty + Bionic: + distro: bionic + Eoan: + distro: eoan + Focal: + distro: focal steps: - task: DownloadPipelineArtifact@1 displayName: 'Download Build Artifacts' @@ -776,29 +670,36 @@ jobs: TargetPath: '$(Build.ArtifactStagingDirectory)/pypi' artifactName: pypi - - task: Bash@3 - displayName: 'Build Debian Jessie Package' + displayName: 'Build Ubuntu $(distro) Package' inputs: targetType: 'filePath' filePath: scripts/release/debian/pipeline.sh env: - DISTRO: jessie - DISTRO_BASE_IMAGE: debian:jessie + DISTRO: $(distro) + DISTRO_BASE_IMAGE: ubuntu:$(distro) - task: PublishPipelineArtifact@0 displayName: 'Publish Artifact: debian' inputs: TargetPath: $(Build.ArtifactStagingDirectory) - ArtifactName: debian-jessie + ArtifactName: debian-$(distro) -- job: BuildDebianStretch - displayName: Build Debian Stretch Package +- job: BuildDebianPackages + displayName: Build Debian Packages dependsOn: BuildPythonWheel condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual')) pool: vmImage: 'ubuntu-16.04' + strategy: + matrix: + Jessie: + distro: jessie + Stretch: + distro: stretch + Buster: + distro: buster steps: - task: DownloadPipelineArtifact@1 displayName: 'Download Build Artifacts' @@ -808,59 +709,26 @@ jobs: - task: Bash@3 - displayName: 'Build Debian Stretch Package' + displayName: 'Build Debian $(distro) Package' inputs: targetType: 'filePath' filePath: scripts/release/debian/pipeline.sh env: - DISTRO: stretch - DISTRO_BASE_IMAGE: debian:stretch + DISTRO: $(distro) + DISTRO_BASE_IMAGE: debian:$(distro) - task: PublishPipelineArtifact@0 displayName: 'Publish Artifact: debian' inputs: TargetPath: $(Build.ArtifactStagingDirectory) - ArtifactName: debian-stretch - -- job: BuildDebianBuster - displayName: Build Debian Buster Package - - dependsOn: BuildPythonWheel - condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual')) - pool: - vmImage: 'ubuntu-16.04' - steps: - - task: DownloadPipelineArtifact@1 - displayName: 'Download Build Artifacts' - inputs: - TargetPath: '$(Build.ArtifactStagingDirectory)/pypi' - artifactName: pypi - - - task: Bash@3 - displayName: 'Build Debian Buster Package' - inputs: - targetType: 'filePath' - filePath: scripts/release/debian/pipeline.sh - env: - DISTRO: buster - DISTRO_BASE_IMAGE: debian:buster - - - task: PublishPipelineArtifact@0 - displayName: 'Publish Artifact: debian' - inputs: - TargetPath: $(Build.ArtifactStagingDirectory) - ArtifactName: debian-buster + ArtifactName: debian-$(distro) - job: TestLinuxPackages displayName: Test Linux Packages dependsOn: - - BuildUbuntuXenial - - BuildUbuntuTrusty - - BuildUbuntuBionic - - BuildDebianJessie - - BuildDebianStretch - - BuildUbuntuEoan + - BuildUbuntuPackages + - BuildDebianPackages condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual')) pool: vmImage: 'ubuntu-16.04' @@ -871,7 +739,6 @@ jobs: TargetPath: '$(Build.ArtifactStagingDirectory)/metadata' artifactName: metadata - - task: DownloadPipelineArtifact@1 displayName: 'Download Debian:Stretch Build' inputs: @@ -896,35 +763,37 @@ jobs: TargetPath: '$(Build.ArtifactStagingDirectory)/debian' artifactName: ubuntu-bionic - - task: DownloadPipelineArtifact@1 displayName: 'Download Ubuntu:Xenial Builds' inputs: TargetPath: '$(Build.ArtifactStagingDirectory)/debian' artifactName: ubuntu-xenial - - task: DownloadPipelineArtifact@1 displayName: 'Download Ubuntu:Trusty Builds' inputs: TargetPath: '$(Build.ArtifactStagingDirectory)/debian' artifactName: ubuntu-trusty - - task: DownloadPipelineArtifact@1 displayName: 'Download Ubuntu:Eoan Builds' inputs: TargetPath: '$(Build.ArtifactStagingDirectory)/debian' artifactName: ubuntu-eoan + - task: DownloadPipelineArtifact@1 + displayName: 'Download Ubuntu:Focal Builds' + inputs: + TargetPath: '$(Build.ArtifactStagingDirectory)/debian' + artifactName: ubuntu-focal - bash: | set -exv CLI_VERSION=`cat $SYSTEM_ARTIFACTSDIRECTORY/metadata/version` - DISTROS=(jessie stretch xenial trusty) - BASE_IMAGES=(debian:jessie debian:stretch ubuntu:xenial ubuntu:trusty) + DISTROS=(jessie stretch xenial trusty eoan focal) + BASE_IMAGES=(debian:jessie debian:stretch ubuntu:xenial ubuntu:trusty ubuntu:eoan ubuntu:focal) # Distros that don't require libssl1.1 for i in ${!DISTROS[@]}; do @@ -938,8 +807,8 @@ jobs: done # Distros that do require libssl1.1 - DISTROS=(bionic eoan buster) - BASE_IMAGES=(ubuntu:bionic ubuntu:eoan debian:buster) + DISTROS=(bionic buster) + BASE_IMAGES=(ubuntu:bionic debian:buster) for i in ${!DISTROS[@]}; do echo "== Test debian package on ${DISTROS[$i]} ==" From d46985516d98816a96b65e480b6264f9ab338897 Mon Sep 17 00:00:00 2001 From: Feng Zhou Date: Tue, 12 May 2020 15:31:37 +0800 Subject: [PATCH 3/6] modify job name --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 5963e2fc3bb..f95e809035f 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -723,8 +723,8 @@ jobs: TargetPath: $(Build.ArtifactStagingDirectory) ArtifactName: debian-$(distro) -- job: TestLinuxPackages - displayName: Test Linux Packages +- job: TestDebPackages + displayName: Test Deb Packages dependsOn: - BuildUbuntuPackages From f7e1deff71fa27ffc4c3dde4664f795e05294a7b Mon Sep 17 00:00:00 2001 From: Feng Zhou Date: Sun, 17 May 2020 23:49:15 +0800 Subject: [PATCH 4/6] fix script --- scripts/release/debian/pipeline.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/release/debian/pipeline.sh b/scripts/release/debian/pipeline.sh index 9fc69966b43..83ba0c81eae 100755 --- a/scripts/release/debian/pipeline.sh +++ b/scripts/release/debian/pipeline.sh @@ -16,7 +16,7 @@ docker run --rm \ -v "$SYSTEM_ARTIFACTSDIRECTORY":/mnt/artifacts \ -e CLI_VERSION=$CLI_VERSION \ -e CLI_VERSION_REVISION=1~$DISTRO \ - -e DEBIAN_FRONTEND=noninteractive + -e DEBIAN_FRONTEND=noninteractive \ $DISTRO_BASE_IMAGE \ /mnt/repo/scripts/release/debian/build.sh From 2340b21ba02cfce13fd85448b7887ad7f503b0a5 Mon Sep 17 00:00:00 2001 From: Feng Zhou Date: Mon, 18 May 2020 10:04:08 +0800 Subject: [PATCH 5/6] fix artifact name --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f95e809035f..f93a2612c3c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -683,7 +683,7 @@ jobs: displayName: 'Publish Artifact: debian' inputs: TargetPath: $(Build.ArtifactStagingDirectory) - ArtifactName: debian-$(distro) + ArtifactName: ubuntu-$(distro) - job: BuildDebianPackages displayName: Build Debian Packages From f96e77156ac79cdc09ff94ff5165d6282ed54a77 Mon Sep 17 00:00:00 2001 From: Feng Zhou Date: Mon, 18 May 2020 10:31:43 +0800 Subject: [PATCH 6/6] fix test deb packages --- azure-pipelines.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f93a2612c3c..3f67f07261a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -792,8 +792,8 @@ jobs: CLI_VERSION=`cat $SYSTEM_ARTIFACTSDIRECTORY/metadata/version` - DISTROS=(jessie stretch xenial trusty eoan focal) - BASE_IMAGES=(debian:jessie debian:stretch ubuntu:xenial ubuntu:trusty ubuntu:eoan ubuntu:focal) + DISTROS=(jessie stretch xenial trusty) + BASE_IMAGES=(debian:jessie debian:stretch ubuntu:xenial ubuntu:trusty) # Distros that don't require libssl1.1 for i in ${!DISTROS[@]}; do @@ -807,8 +807,8 @@ jobs: done # Distros that do require libssl1.1 - DISTROS=(bionic buster) - BASE_IMAGES=(ubuntu:bionic debian:buster) + DISTROS=(bionic buster eoan focal) + BASE_IMAGES=(ubuntu:bionic debian:buster ubuntu:eoan ubuntu:focal) for i in ${!DISTROS[@]}; do echo "== Test debian package on ${DISTROS[$i]} =="