mirror of
https://github.com/certbot/certbot.git
synced 2026-06-04 14:26:10 -04:00
Focus on windows packaging jobs
This commit is contained in:
parent
c0ce3e5fe8
commit
4d0c58c0ab
2 changed files with 159 additions and 159 deletions
|
|
@ -1,55 +1,55 @@
|
|||
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: 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
|
||||
|
|
@ -119,109 +119,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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue