Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/certbot/certbot.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrien Ferrand <adferrand@users.noreply.github.com>2021-03-26 00:38:34 +0300
committerGitHub <noreply@github.com>2021-03-26 00:38:34 +0300
commit018efc241c7fd219b8c3b4d7a52e4c365850060d (patch)
treec84301f61d8a775cfc4a48ea0bb44b99e499599d /.azure-pipelines
parentfa25d8356d8b5ae3c454f13ccd3e1d371d873f75 (diff)
Split snap build over three Azure jobs (one per architecture) (#8731)
Fixes #8700 Now that `snapcraft remote-build` truly uses new builds for each call, we can split the builds to have a dedicated Azure job for each target architecture. This PR does that. * Split snap_build job on each architecture * Also parallelize the publish_snap jobs over each architecture
Diffstat (limited to '.azure-pipelines')
-rw-r--r--.azure-pipelines/templates/jobs/packaging-jobs.yml26
-rw-r--r--.azure-pipelines/templates/stages/deploy-stage.yml10
2 files changed, 24 insertions, 12 deletions
diff --git a/.azure-pipelines/templates/jobs/packaging-jobs.yml b/.azure-pipelines/templates/jobs/packaging-jobs.yml
index 28255919f..1b8bcad68 100644
--- a/.azure-pipelines/templates/jobs/packaging-jobs.yml
+++ b/.azure-pipelines/templates/jobs/packaging-jobs.yml
@@ -116,13 +116,17 @@ jobs:
- job: snaps_build
pool:
vmImage: ubuntu-18.04
+ strategy:
+ matrix:
+ amd64:
+ SNAP_ARCH: amd64
+ # Do not run the heavy non-amd64 builds for test branches
+ ${{ if not(startsWith(variables['Build.SourceBranchName'], 'test-')) }}:
+ armhf:
+ SNAP_ARCH: armhf
+ arm64:
+ SNAP_ARCH: arm64
timeoutInMinutes: 0
- variables:
- # Do not run the heavy non-amd64 builds for test branches
- ${{ if not(startsWith(variables['Build.SourceBranchName'], 'test-')) }}:
- ARCHS: amd64 arm64 armhf
- ${{ if startsWith(variables['Build.SourceBranchName'], 'test-') }}:
- ARCHS: amd64
steps:
- script: |
set -e
@@ -144,7 +148,7 @@ jobs:
git config --global user.name "$(Build.RequestedFor)"
mkdir -p ~/.local/share/snapcraft/provider/launchpad
cp $(credentials.secureFilePath) ~/.local/share/snapcraft/provider/launchpad/credentials
- python3 tools/snap/build_remote.py ALL --archs ${ARCHS} --timeout 19800
+ python3 tools/snap/build_remote.py ALL --archs ${SNAP_ARCH} --timeout 19800
displayName: Build snaps
- script: |
set -e
@@ -154,7 +158,7 @@ jobs:
- task: PublishPipelineArtifact@1
inputs:
path: $(Build.ArtifactStagingDirectory)
- artifact: snaps
+ artifact: snaps_$(SNAP_ARCH)
displayName: Store snaps artifacts
- job: snap_run
dependsOn: snaps_build
@@ -175,12 +179,12 @@ jobs:
displayName: Install dependencies
- task: DownloadPipelineArtifact@2
inputs:
- artifact: snaps
+ artifact: snaps_amd64
path: $(Build.SourcesDirectory)/snap
displayName: Retrieve Certbot snaps
- script: |
set -e
- sudo snap install --dangerous --classic snap/certbot_*_amd64.snap
+ sudo snap install --dangerous --classic snap/certbot_*.snap
displayName: Install Certbot snap
- script: |
set -e
@@ -202,7 +206,7 @@ jobs:
addToPath: true
- task: DownloadPipelineArtifact@2
inputs:
- artifact: snaps
+ artifact: snaps_amd64
path: $(Build.SourcesDirectory)/snap
displayName: Retrieve Certbot snaps
- script: |
diff --git a/.azure-pipelines/templates/stages/deploy-stage.yml b/.azure-pipelines/templates/stages/deploy-stage.yml
index ac2044f99..f42dd2a28 100644
--- a/.azure-pipelines/templates/stages/deploy-stage.yml
+++ b/.azure-pipelines/templates/stages/deploy-stage.yml
@@ -37,6 +37,14 @@ stages:
vmImage: ubuntu-18.04
variables:
- group: certbot-common
+ strategy:
+ matrix:
+ amd64:
+ SNAP_ARCH: amd64
+ arm32v6:
+ SNAP_ARCH: armhf
+ arm64v8:
+ SNAP_ARCH: arm64
steps:
- bash: |
set -e
@@ -46,7 +54,7 @@ stages:
displayName: Install dependencies
- task: DownloadPipelineArtifact@2
inputs:
- artifact: snaps
+ artifact: snaps_$(SNAP_ARCH)
path: $(Build.SourcesDirectory)/snap
displayName: Retrieve Certbot snaps
- task: DownloadSecureFile@1