Remove Windows 2016 environment, generate 64 bit installer (#9202)

* Remove Windows 2016 environment, generate 64 bit installer

* Add note to changelog

* Use win_amd64 as installer suffix

* Bump PYTHON_BITNESS to 64

* Require 64 bit Windows for the installer_build job

* Update certbot install path

* update windows test name

* Base installer suffix on PYTHON_BITNESS again

* Update changelog to request users uninstall old version
This commit is contained in:
Will Greenberg
2022-03-03 19:31:03 +01:00
committed by GitHub
parent 92de543fe7
commit f251a13f32
8 changed files with 19 additions and 25 deletions
@@ -55,12 +55,12 @@ jobs:
displayName: Run integration tests for Docker images displayName: Run integration tests for Docker images
- job: installer_build - job: installer_build
pool: pool:
vmImage: vs2017-win2016 vmImage: windows-2019
steps: steps:
- task: UsePythonVersion@0 - task: UsePythonVersion@0
inputs: inputs:
versionSpec: 3.9 versionSpec: 3.9
architecture: x86 architecture: x64
addToPath: true addToPath: true
- script: | - script: |
python -m venv venv python -m venv venv
@@ -87,17 +87,9 @@ jobs:
matrix: matrix:
win2019: win2019:
imageName: windows-2019 imageName: windows-2019
win2016:
imageName: vs2017-win2016
pool: pool:
vmImage: $(imageName) vmImage: $(imageName)
steps: 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 - task: UsePythonVersion@0
inputs: inputs:
versionSpec: 3.9 versionSpec: 3.9
@@ -115,11 +107,11 @@ jobs:
PIP_NO_BUILD_ISOLATION: no PIP_NO_BUILD_ISOLATION: no
displayName: Prepare Certbot-CI displayName: Prepare Certbot-CI
- script: | - script: |
set PATH=%ProgramFiles(x86)%\Certbot\bin;%PATH% set PATH=%ProgramFiles%\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 venv\Scripts\python -m pytest certbot-ci\windows_installer_integration_tests --allow-persistent-changes --installer-path $(Build.SourcesDirectory)\bin\certbot-beta-installer-win_amd64.exe
displayName: Run windows installer integration tests displayName: Run windows installer integration tests
- script: | - script: |
set PATH=%ProgramFiles(x86)%\Certbot\bin;%PATH% set PATH=%ProgramFiles%\Certbot\bin;%PATH%
venv\Scripts\python -m pytest certbot-ci\certbot_integration_tests\certbot_tests -n 4 venv\Scripts\python -m pytest certbot-ci\certbot_integration_tests\certbot_tests -n 4
displayName: Run certbot integration tests displayName: Run certbot integration tests
- job: snaps_build - job: snaps_build
@@ -13,15 +13,15 @@ jobs:
PYTHON_VERSION: 3.10 PYTHON_VERSION: 3.10
TOXENV: py310-cover TOXENV: py310-cover
windows-py37: windows-py37:
IMAGE_NAME: vs2017-win2016 IMAGE_NAME: windows-2019
PYTHON_VERSION: 3.7 PYTHON_VERSION: 3.7
TOXENV: py37-win TOXENV: py37-win
windows-py39-cover: windows-py39-cover:
IMAGE_NAME: vs2017-win2016 IMAGE_NAME: windows-2019
PYTHON_VERSION: 3.9 PYTHON_VERSION: 3.9
TOXENV: py39-cover-win TOXENV: py39-cover-win
windows-integration-certbot: windows-integration-certbot:
IMAGE_NAME: vs2017-win2016 IMAGE_NAME: windows-2019
PYTHON_VERSION: 3.9 PYTHON_VERSION: 3.9
TOXENV: integration-certbot TOXENV: integration-certbot
linux-oldest-tests-1: linux-oldest-tests-1:
@@ -3,7 +3,7 @@ stages:
jobs: jobs:
- job: prepare - job: prepare
pool: pool:
vmImage: vs2017-win2016 vmImage: windows-2019
steps: steps:
# If we change the output filename from `release_notes.md`, it should also be changed in tools/create_github_release.py # If we change the output filename from `release_notes.md`, it should also be changed in tools/create_github_release.py
- bash: | - bash: |
@@ -20,9 +20,9 @@ def pytest_addoption(parser):
""" """
parser.addoption('--installer-path', parser.addoption('--installer-path',
default=os.path.join(ROOT_PATH, 'windows-installer', 'build', default=os.path.join(ROOT_PATH, 'windows-installer', 'build',
'nsis', 'certbot-beta-installer-win32.exe'), 'nsis', 'certbot-beta-installer-win_amd64.exe'),
help='set the path of the windows installer to use, default to ' help='set the path of the windows installer to use, default to '
'CERTBOT_ROOT_PATH\\windows-installer\\build\\nsis\\certbot-beta-installer-win32.exe') # pylint: disable=line-too-long 'CERTBOT_ROOT_PATH\\windows-installer\\build\\nsis\\certbot-beta-installer-win_amd64.exe') # pylint: disable=line-too-long
parser.addoption('--allow-persistent-changes', action='store_true', parser.addoption('--allow-persistent-changes', action='store_true',
help='needs to be set, and confirm that the test will make persistent changes on this machine') # pylint: disable=line-too-long help='needs to be set, and confirm that the test will make persistent changes on this machine') # pylint: disable=line-too-long
+3 -1
View File
@@ -10,7 +10,9 @@ Certbot adheres to [Semantic Versioning](https://semver.org/).
### Changed ### Changed
* * Dropped 32 bit support for the Windows beta installer
* Windows beta installer is now distributed as "certbot-beta-installer-win_amd64.exe".
Users of the Windows beta should uninstall the old version before running this.
### Fixed ### Fixed
+1 -1
View File
@@ -135,7 +135,7 @@ def create_github_release(github_access_token, tempdir, version):
# Upload windows installer to release # Upload windows installer to release
print("Uploading windows installer") print("Uploading windows installer")
release.upload_asset(tempdir + '/windows-installer/certbot-beta-installer-win32.exe') release.upload_asset(tempdir + '/windows-installer/certbot-beta-installer-win_amd64.exe')
release.update_release(release.title, release.body, draft=False) release.update_release(release.title, release.body, draft=False)
+2 -2
View File
@@ -26,8 +26,8 @@ source_paths = acme/acme certbot/certbot certbot-apache/certbot_apache certbot-c
passenv = passenv =
CERTBOT_NO_PIN CERTBOT_NO_PIN
platform = platform =
win: win32 win: win64
posix: ^(?!.*win32).*$ posix: ^(?!.*win64).*$
commands_pre = python {toxinidir}/tools/pipstrap.py commands_pre = python {toxinidir}/tools/pipstrap.py
commands = commands =
!cover-win: {[base]install_and_test} {[base]win_all_packages} !cover-win: {[base]install_and_test} {[base]win_all_packages}
@@ -8,7 +8,7 @@ import sys
import time import time
PYTHON_VERSION = (3, 9, 7) PYTHON_VERSION = (3, 9, 7)
PYTHON_BITNESS = 32 PYTHON_BITNESS = 64
NSIS_VERSION = '3.06.1' NSIS_VERSION = '3.06.1'
@@ -94,7 +94,7 @@ def _generate_pynsist_config(repo_path, build_path):
certbot_version = subprocess.check_output([sys.executable, '-c', 'import certbot; print(certbot.__version__)'], certbot_version = subprocess.check_output([sys.executable, '-c', 'import certbot; print(certbot.__version__)'],
universal_newlines=True, cwd=certbot_pkg_path).strip() universal_newlines=True, cwd=certbot_pkg_path).strip()
# If we change the installer name from `certbot-beta-installer-win32.exe`, it should # If we change the installer name from `certbot-beta-installer-win_amd64.exe`, it should
# also be changed in tools/create_github_release.py # also be changed in tools/create_github_release.py
with open(installer_cfg_path, 'w') as file_h: with open(installer_cfg_path, 'w') as file_h:
file_h.write('''\ file_h.write('''\