Changeset - 3c69231d7781
[Not reviewed]
0 7 0
Branko Majic (branko) - 3 years ago 2020-11-05 00:05:45
branko@majic.rs
GC-39: Added support for Python 3.9:

- Updated release notes
- Updated functional test for changes in help output in Python 3.9.
- Updated comments on public signing keys used for validating the
Python archives when using Vagrant provisioning.
- Updated supported Python versions in package configuration file.
- Updated Python versions used for tests.
7 files changed with 19 insertions and 5 deletions:
0 comments (0 inline, 0 general)
README.rst
Show inline comments
 
@@ -30,12 +30,13 @@ At time of this writing, Gimmecert is compatible with the following
 
Python versions:
 

	
 
- *Python 3.5*
 
- *Python 3.6*
 
- *Python 3.7*
 
- *Python 3.8*
 
- *Python 3.8*
 

	
 

	
 
Why was this tool created?
 
--------------------------
 

	
 
The tool was created to remove the pain of setting-up a CA hierarchy,
docs/releasenotes.rst
Show inline comments
 
@@ -2,16 +2,20 @@ Release notes
 
=============
 

	
 

	
 
NEXT RELEASE
 
------------
 

	
 
This release adds support for Python 3.9, and updates the package
 
requirements.
 

	
 
Resolved issues:
 

	
 
- **Tasks**:
 

	
 
  - `GC-39: Support for Python 3.9 <https://projects.majic.rs/gimmecert/issues/GC-39>`_
 
  - `GC-40: Update all requirements <https://projects.majic.rs/gimmecert/issues/GC-40>`_
 

	
 

	
 
0.4.0
 
-----
 

	
functional_tests/test_server.py
Show inline comments
 
@@ -15,12 +15,13 @@
 
# details.
 
#
 
# You should have received a copy of the GNU General Public License along with
 
# Gimmecert.  If not, see <http://www.gnu.org/licenses/>.
 
#
 

	
 
import sys
 

	
 
from .base import run_command
 

	
 

	
 
def test_server_command_available_with_help():
 
    # John has finally finished initialising his CA hierarchy. What he
 
@@ -39,13 +40,18 @@ def test_server_command_available_with_help():
 

	
 
    # John can see that the command accepts an entity name, and an
 
    # optional list of DNS subject alternative names.
 
    assert exit_code == 0
 
    assert stderr == ""
 
    assert stdout.startswith("usage: gimmecert server")
 
    assert " entity_name [dns_name [dns_name ...]]" in stdout
 
    # Help output for nargs="*" got changed in Python 3.9. See
 
    # https://bugs.python.org/issue38438 for details.
 
    if sys.version_info.major == 3 and sys.version_info.minor < 9:
 
        assert " entity_name [dns_name [dns_name ...]]" in stdout
 
    else:
 
        assert " entity_name [dns_name ...]" in stdout
 

	
 

	
 
def test_server_command_requires_initialised_hierarchy(tmpdir):
 
    # John is about to issue a server certificate. He switches to his
 
    # project directory.
 
    tmpdir.chdir()
provision.sh
Show inline comments
 
@@ -24,13 +24,13 @@ apt-get install -qq -y git virtualenv
 
apt-get install -qq -y make build-essential libssl1.0-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libffi-dev
 

	
 
# Import public keys for validating Python releases.
 
sudo -i -u vagrant gpg -q --import /vagrant/provision/python_releases_signing_keys.pub
 

	
 
# Download and build additional Python versions.
 
python_versions=("3.5.9" "3.6.10" "3.7.7" "3.8.2")
 
python_versions=("3.5.10" "3.6.12" "3.7.9" "3.8.6" "3.9.0")
 
work_directory="/home/vagrant/src"
 

	
 
echo "Setting-up work directory."
 
sudo -i -u vagrant mkdir -p "$work_directory"
 

	
 
for version in "${python_versions[@]}"; do
provision/python_releases_signing_keys.pub
Show inline comments
 
# Python 3.5, 3.6, and 3.7 archive signing key
 
-----BEGIN PGP PUBLIC KEY BLOCK-----
 

	
 
mQENBE0yGHgBCAClbIKFESe6Ae/wJv4c50K2C5BnyAVIbNObvl/maM7X0sTpi9cv
 
AoOIjXvVKT2G2KPwtBLilAltsmmY6kPVSrevg90laMLGH7/kDeNuKC/TL0lLQcu9
 
5L224n2UiB0N5AV+arMuuBlX6m7SsfkI18Yi/LAli4eMLg/ecLtA8FpVDjwXlKxo
 
U4vUOC0ePxeSeDtU8AR15UY1c5id7xkn4EC3jvOXm/KRcyaBX4FD2Tes1XozOmwF
 
@@ -7711,13 +7712,13 @@ ug9skaaYbqlv+js/hrMFRUL2Uc65XdeUA+NKYnKWc2xXv4/HA+VeW8qCHhLgLhk9
 
Rz+I962zFdHZ2Nxw6g3FVTgKokGpgqC6X+lSmFeSHtB8QrIf7jZQRNtWGy10FVRr
 
MnpJ5Se/0KVUMawISF8Rl806c6gPMkbEN8RKgDDuKH3W8iFPIcewrzenYcsMws+m
 
0vPH/QAUF+joxYYal3ZFKcxY1u+Hn3CJOGUN4j4NqzeWfmewCjrt0xh0
 
=erwG
 
-----END PGP PUBLIC KEY BLOCK-----
 

	
 
# Python 3.8 archive signing key
 
# Python 3.8 and 3.9 archive signing key
 
-----BEGIN PGP PUBLIC KEY BLOCK-----
 

	
 
mQINBFVRJ0kBEACko4KHmTBm01lcf4IsN4QxglIuf51lYqHs9B5nQbO6OSUivPXP
 
QBq3fu69yellpQiWaWhBvJB1s91sVuP1G30hcwl7SRxBUNQUUXT7lliLvhXEvcAb
 
l7iyoi3MsCdIcDdJvdMSMcbCJLSBDl8hETWcGj6Mnoj/HBr0r8IYmLf+cnCCNFg5
 
f4mBQDlgsXpSjiMulprFwsEUctaJ1/7V0cMvXllsyXFw6lzd9xvULjih+C3eiKqQ
setup.py
Show inline comments
 
@@ -21,13 +21,13 @@
 

	
 
import os
 
from setuptools import setup, find_packages
 

	
 
README = open(os.path.join(os.path.dirname(__file__), 'README.rst')).read()
 

	
 
python_requirements = ">=3.5,<3.9"
 
python_requirements = ">=3.5,<3.10"
 

	
 
install_requirements = [
 
    'cryptography>=3.2,<3.3',
 
    'python-dateutil>=2.8,<2.9',
 
]
 

	
 
@@ -94,12 +94,13 @@ setup(
 
        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
 
        'Operating System :: OS Independent',
 
        'Programming Language :: Python :: 3.5',
 
        'Programming Language :: Python :: 3.6',
 
        'Programming Language :: Python :: 3.7',
 
        'Programming Language :: Python :: 3.8',
 
        'Programming Language :: Python :: 3.9',
 
        'Topic :: Internet :: WWW/HTTP',
 
        'Topic :: Internet :: WWW/HTTP :: Site Management',
 
        'Topic :: Security',
 
        'Topic :: Software Development :: Testing',
 
        'Topic :: Utilities',
 
    ],
tox.ini
Show inline comments
 
[tox]
 
envlist = {py35,py36,py37,py38},lint,doc
 
envlist = {py35,py36,py37,py38,py39},lint,doc
 

	
 
[testenv]
 
whitelist_externals =
 
  make
 

	
 
basepython =
 
  doc: python3
 
  lint: python3
 
  py35: python3.5
 
  py36: python3.6
 
  py37: python3.7
 
  py38: python3.8
 
  py39: python3.9
 

	
 
deps =
 
  .[test]
 

	
 
commands =
 
  # Must specify cov-report explicitly, otherwise coverage starts
0 comments (0 inline, 0 general)