diff --git a/.azure-pipelines/templates/jobs/packaging-jobs.yml b/.azure-pipelines/templates/jobs/packaging-jobs.yml index 28255919f..64f750e34 100644 --- a/.azure-pipelines/templates/jobs/packaging-jobs.yml +++ b/.azure-pipelines/templates/jobs/packaging-jobs.yml @@ -1,118 +1,4 @@ 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 - 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 - steps: - - task: UsePythonVersion@0 - inputs: - versionSpec: 3.8 - architecture: x86 - addToPath: true - - script: python windows-installer/construct.py - displayName: Build Certbot installer - - task: CopyFiles@2 - inputs: - sourceFolder: $(System.DefaultWorkingDirectory)/windows-installer/build/nsis - contents: '*.exe' - targetFolder: $(Build.ArtifactStagingDirectory) - - task: PublishPipelineArtifact@1 - inputs: - path: $(Build.ArtifactStagingDirectory) - # If we change the artifact's name, it should also be changed in tools/create_github_release.py - artifact: windows-installer - displayName: Publish Windows installer - - job: installer_run - dependsOn: installer_build - strategy: - matrix: - win2019: - imageName: windows-2019 - win2016: - imageName: vs2017-win2016 - pool: - vmImage: $(imageName) - steps: - - powershell: | - if ($PSVersionTable.PSVersion.Major -ne 5) { - throw "Powershell version is not 5.x" - } - condition: eq(variables['imageName'], 'vs2017-win2016') - displayName: Check Powershell 5.x is used in vs2017-win2016 - - task: UsePythonVersion@0 - inputs: - versionSpec: 3.8 - addToPath: true - - task: DownloadPipelineArtifact@2 - inputs: - artifact: windows-installer - path: $(Build.SourcesDirectory)/bin - displayName: Retrieve Windows installer - - script: | - python -m venv venv - venv\Scripts\python tools\pipstrap.py - venv\Scripts\python tools\pip_install.py -e certbot-ci - env: - PIP_NO_BUILD_ISOLATION: no - displayName: Prepare Certbot-CI - - script: | - set PATH=%ProgramFiles(x86)%\Certbot\bin;%PATH% - venv\Scripts\python -m pytest certbot-ci\windows_installer_integration_tests --allow-persistent-changes --installer-path $(Build.SourcesDirectory)\bin\certbot-beta-installer-win32.exe - displayName: Run windows installer integration tests - - script: | - 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 @@ -156,62 +42,3 @@ jobs: path: $(Build.ArtifactStagingDirectory) artifact: snaps 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 - path: $(Build.SourcesDirectory)/snap - displayName: Retrieve Certbot snaps - - script: | - set -e - sudo snap install --dangerous --classic snap/certbot_*_amd64.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 - 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..60021cc33 100644 --- a/.azure-pipelines/templates/stages/test-and-package-stage.yml +++ b/.azure-pipelines/templates/stages/test-and-package-stage.yml @@ -1,6 +1,4 @@ stages: - stage: TestAndPackage jobs: - - template: ../jobs/standard-tests-jobs.yml - - template: ../jobs/extended-tests-jobs.yml - template: ../jobs/packaging-jobs.yml