diff --git a/.azure-pipelines/templates/jobs/packaging-jobs.yml b/.azure-pipelines/templates/jobs/packaging-jobs.yml index 005b5ef48..5f5d9be51 100644 --- a/.azure-pipelines/templates/jobs/packaging-jobs.yml +++ b/.azure-pipelines/templates/jobs/packaging-jobs.yml @@ -1,58 +1,58 @@ jobs: - - job: docker_build - pool: - vmImage: ubuntu-18.04 - strategy: - matrix: - amd64: - DOCKER_ARCH: amd64 - # Do not run the heavy non-amd64 builds for test branches - ${{ if not(startsWith(variables['Build.SourceBranchName'], 'test-')) }}: - arm32v6: - DOCKER_ARCH: arm32v6 - arm64v8: - DOCKER_ARCH: arm64v8 - # The default timeout of 60 minutes is a little low for compiling - # cryptography on ARM architectures. - timeoutInMinutes: 180 - steps: - - bash: set -e && tools/docker/build.sh $(dockerTag) $DOCKER_ARCH - displayName: Build the Docker images - # We don't filter for the Docker Hub organization to continue to allow - # easy testing of these scripts on forks. - - bash: | - set -e - DOCKER_IMAGES=$(docker images --filter reference='*/certbot' --filter reference='*/dns-*' --format '{{.Repository}}') - docker save --output images.tar $DOCKER_IMAGES - displayName: Save the Docker images - # If the name of the tar file or artifact changes, the deploy stage will - # also need to be updated. - - bash: set -e && mv images.tar $(Build.ArtifactStagingDirectory) - displayName: Prepare Docker artifact - - task: PublishPipelineArtifact@1 - inputs: - path: $(Build.ArtifactStagingDirectory) - artifact: docker_$(DOCKER_ARCH) - displayName: Store Docker artifact - - job: docker_run - dependsOn: docker_build - pool: - vmImage: ubuntu-18.04 - steps: - - task: DownloadPipelineArtifact@2 - inputs: - artifact: docker_amd64 - path: $(Build.SourcesDirectory) - displayName: Retrieve Docker images - - bash: set -e && docker load --input $(Build.SourcesDirectory)/images.tar - displayName: Load Docker images - - bash: | - set -ex - DOCKER_IMAGES=$(docker images --filter reference='*/certbot' --filter reference='*/dns-*' --format '{{.Repository}}:{{.Tag}}') - for DOCKER_IMAGE in ${DOCKER_IMAGES} - do docker run --rm "${DOCKER_IMAGE}" plugins --prepare - done - displayName: Run integration tests for Docker images +# - job: docker_build +# pool: +# vmImage: ubuntu-18.04 +# strategy: +# matrix: +# amd64: +# DOCKER_ARCH: amd64 +# # Do not run the heavy non-amd64 builds for test branches +# ${{ if not(startsWith(variables['Build.SourceBranchName'], 'test-')) }}: +# arm32v6: +# DOCKER_ARCH: arm32v6 +# arm64v8: +# DOCKER_ARCH: arm64v8 +# # The default timeout of 60 minutes is a little low for compiling +# # cryptography on ARM architectures. +# timeoutInMinutes: 180 +# steps: +# - bash: set -e && tools/docker/build.sh $(dockerTag) $DOCKER_ARCH +# displayName: Build the Docker images +# # We don't filter for the Docker Hub organization to continue to allow +# # easy testing of these scripts on forks. +# - bash: | +# set -e +# DOCKER_IMAGES=$(docker images --filter reference='*/certbot' --filter reference='*/dns-*' --format '{{.Repository}}') +# docker save --output images.tar $DOCKER_IMAGES +# displayName: Save the Docker images +# # If the name of the tar file or artifact changes, the deploy stage will +# # also need to be updated. +# - bash: set -e && mv images.tar $(Build.ArtifactStagingDirectory) +# displayName: Prepare Docker artifact +# - task: PublishPipelineArtifact@1 +# inputs: +# path: $(Build.ArtifactStagingDirectory) +# artifact: docker_$(DOCKER_ARCH) +# displayName: Store Docker artifact +# - job: docker_run +# dependsOn: docker_build +# pool: +# vmImage: ubuntu-18.04 +# steps: +# - task: DownloadPipelineArtifact@2 +# inputs: +# artifact: docker_amd64 +# path: $(Build.SourcesDirectory) +# displayName: Retrieve Docker images +# - bash: set -e && docker load --input $(Build.SourcesDirectory)/images.tar +# displayName: Load Docker images +# - bash: | +# set -ex +# DOCKER_IMAGES=$(docker images --filter reference='*/certbot' --filter reference='*/dns-*' --format '{{.Repository}}:{{.Tag}}') +# for DOCKER_IMAGE in ${DOCKER_IMAGES} +# do docker run --rm "${DOCKER_IMAGE}" plugins --prepare +# done +# displayName: Run integration tests for Docker images - job: installer_build pool: vmImage: vs2017-win2016 @@ -122,109 +122,109 @@ jobs: set PATH=%ProgramFiles(x86)%\Certbot\bin;%PATH% venv\Scripts\python -m pytest certbot-ci\certbot_integration_tests\certbot_tests -n 4 displayName: Run certbot integration tests - - 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 - steps: - - script: | - set -e - sudo apt-get update - sudo apt-get install -y --no-install-recommends snapd - sudo snap install --classic snapcraft - displayName: Install dependencies - - task: UsePythonVersion@0 - inputs: - versionSpec: 3.8 - addToPath: true - - task: DownloadSecureFile@1 - name: credentials - inputs: - secureFile: launchpad-credentials - - script: | - set -e - git config --global user.email "$(Build.RequestedForEmail)" - 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 ${SNAP_ARCH} --timeout 19800 - displayName: Build snaps - - script: | - set -e - mv *.snap $(Build.ArtifactStagingDirectory) - mv certbot-dns-*/*.snap $(Build.ArtifactStagingDirectory) - displayName: Prepare artifacts - - task: PublishPipelineArtifact@1 - inputs: - path: $(Build.ArtifactStagingDirectory) - artifact: snaps_$(SNAP_ARCH) - displayName: Store snaps artifacts - - job: snap_run - dependsOn: snaps_build - pool: - vmImage: ubuntu-18.04 - steps: - - task: UsePythonVersion@0 - inputs: - versionSpec: 3.8 - addToPath: true - - script: | - set -e - sudo apt-get update - sudo apt-get install -y --no-install-recommends nginx-light snapd - python3 -m venv venv - venv/bin/python tools/pipstrap.py - venv/bin/python tools/pip_install.py -U tox - displayName: Install dependencies - - task: DownloadPipelineArtifact@2 - inputs: - artifact: snaps_amd64 - path: $(Build.SourcesDirectory)/snap - displayName: Retrieve Certbot snaps - - script: | - set -e - sudo snap install --dangerous --classic snap/certbot_*.snap - displayName: Install Certbot snap - - script: | - set -e - venv/bin/python -m tox -e integration-external,apacheconftest-external-with-pebble - displayName: Run tox - - job: snap_dns_run - dependsOn: snaps_build - pool: - vmImage: ubuntu-18.04 - steps: - - script: | - set -e - sudo apt-get update - sudo apt-get install -y --no-install-recommends snapd - displayName: Install dependencies - - task: UsePythonVersion@0 - inputs: - versionSpec: 3.8 - addToPath: true - - task: DownloadPipelineArtifact@2 - inputs: - artifact: snaps_amd64 - path: $(Build.SourcesDirectory)/snap - displayName: Retrieve Certbot snaps - - script: | - set -e - python3 -m venv venv - venv/bin/python tools/pipstrap.py - venv/bin/python tools/pip_install.py -e certbot-ci - displayName: Prepare Certbot-CI - - script: | - set -e - sudo -E venv/bin/pytest certbot-ci/snap_integration_tests/dns_tests --allow-persistent-changes --snap-folder $(Build.SourcesDirectory)/snap --snap-arch amd64 - displayName: Test DNS plugins snaps +# - 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 +# steps: +# - script: | +# set -e +# sudo apt-get update +# sudo apt-get install -y --no-install-recommends snapd +# sudo snap install --classic snapcraft +# displayName: Install dependencies +# - task: UsePythonVersion@0 +# inputs: +# versionSpec: 3.8 +# addToPath: true +# - task: DownloadSecureFile@1 +# name: credentials +# inputs: +# secureFile: launchpad-credentials +# - script: | +# set -e +# git config --global user.email "$(Build.RequestedForEmail)" +# 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 ${SNAP_ARCH} --timeout 19800 +# displayName: Build snaps +# - script: | +# set -e +# mv *.snap $(Build.ArtifactStagingDirectory) +# mv certbot-dns-*/*.snap $(Build.ArtifactStagingDirectory) +# displayName: Prepare artifacts +# - task: PublishPipelineArtifact@1 +# inputs: +# path: $(Build.ArtifactStagingDirectory) +# artifact: snaps_$(SNAP_ARCH) +# displayName: Store snaps artifacts +# - job: snap_run +# dependsOn: snaps_build +# pool: +# vmImage: ubuntu-18.04 +# steps: +# - task: UsePythonVersion@0 +# inputs: +# versionSpec: 3.8 +# addToPath: true +# - script: | +# set -e +# sudo apt-get update +# sudo apt-get install -y --no-install-recommends nginx-light snapd +# python3 -m venv venv +# venv/bin/python tools/pipstrap.py +# venv/bin/python tools/pip_install.py -U tox +# displayName: Install dependencies +# - task: DownloadPipelineArtifact@2 +# inputs: +# artifact: snaps_amd64 +# path: $(Build.SourcesDirectory)/snap +# displayName: Retrieve Certbot snaps +# - script: | +# set -e +# sudo snap install --dangerous --classic snap/certbot_*.snap +# displayName: Install Certbot snap +# - script: | +# set -e +# venv/bin/python -m tox -e integration-external,apacheconftest-external-with-pebble +# displayName: Run tox +# - job: snap_dns_run +# dependsOn: snaps_build +# pool: +# vmImage: ubuntu-18.04 +# steps: +# - script: | +# set -e +# sudo apt-get update +# sudo apt-get install -y --no-install-recommends snapd +# displayName: Install dependencies +# - task: UsePythonVersion@0 +# inputs: +# versionSpec: 3.8 +# addToPath: true +# - task: DownloadPipelineArtifact@2 +# inputs: +# artifact: snaps_amd64 +# path: $(Build.SourcesDirectory)/snap +# displayName: Retrieve Certbot snaps +# - script: | +# set -e +# python3 -m venv venv +# venv/bin/python tools/pipstrap.py +# venv/bin/python tools/pip_install.py -e certbot-ci +# displayName: Prepare Certbot-CI +# - script: | +# set -e +# sudo -E venv/bin/pytest certbot-ci/snap_integration_tests/dns_tests --allow-persistent-changes --snap-folder $(Build.SourcesDirectory)/snap --snap-arch amd64 +# displayName: Test DNS plugins snaps diff --git a/.azure-pipelines/templates/stages/test-and-package-stage.yml b/.azure-pipelines/templates/stages/test-and-package-stage.yml index 26010644d..867277c8d 100644 --- a/.azure-pipelines/templates/stages/test-and-package-stage.yml +++ b/.azure-pipelines/templates/stages/test-and-package-stage.yml @@ -1,6 +1,6 @@ stages: - stage: TestAndPackage jobs: - - template: ../jobs/standard-tests-jobs.yml - - template: ../jobs/extended-tests-jobs.yml +# - template: ../jobs/standard-tests-jobs.yml +# - template: ../jobs/extended-tests-jobs.yml - template: ../jobs/packaging-jobs.yml