Changeset - f63fef3858a1
[Not reviewed]
0 5 0
Branko Majic (branko) - 21 months ago 2024-02-24 00:52:51
branko@majic.rs
GC-43: Added support for Python 3.11:

- Updated documentation.
- Updated release notes.
- Updated supported Python versions in package configuration file.
- Updated Python versions used for tests.
5 files changed with 10 insertions and 5 deletions:
0 comments (0 inline, 0 general)
README.rst
Show inline comments
 
@@ -23,24 +23,25 @@ The tool is useful for issuing certificates in:
 
  either for purpose of integration with other systems, or for ability
 
  to develop new feature that involves use of certificates.
 
- Testing/CI/CD environment, when it is necessary to deploy/configure
 
  tests to use certificates in order to ensure the tests are run
 
  properly and in full.
 

	
 
At time of this writing, Gimmecert is compatible with the following
 
Python versions:
 

	
 
- *Python 3.8*
 
- *Python 3.9*
 
- *Python 3.10*
 
- *Python 3.11*
 

	
 

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

	
 
The tool was created to remove the pain of setting-up a CA hierarchy,
 
and then using this hierarchy to issue a couple of test certificates.
 

	
 
While there are existing tools that can be used to this end (in
 
particular the OpenSSL's CLI and GnuTLS' ``certtool``), the process of
 
using them is tedious, slow, and error-prone.
 

	
docs/releasenotes.rst
Show inline comments
 
@@ -6,40 +6,42 @@
 
   Unported License. To view a copy of this license, visit
 
   http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative
 
   Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
 

	
 

	
 
Release notes
 
=============
 

	
 

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

	
 
This release adds support for Python 3.10, drops support for Python
 
3.5, 3.6, and 3.7, and updates package dependencies.
 
This release adds support for Python 3.10 and 3.11, while dropping
 
support for Python 3.5, 3.6, and 3.7. Package dependencies have been
 
updated as well.
 

	
 
.. warning::
 

	
 
   This release contains the following breaking changes:
 

	
 
   - Support for Python 3.5, 3.6, and 3.7 has been dropped. Make sure
 
     that you are using one of the supported Python versions prior to
 
     upgrading *Gimmecert*.
 

	
 
Resolved issues:
 

	
 
- **Tasks**:
 

	
 
  - `GC-42: Support for Python 3.10 <https://projects.majic.rs/gimmecert/issues/GC-42>`_
 
  - `GC-43: Support for Python 3.11 <https://projects.majic.rs/gimmecert/issues/GC-43>`_
 
  - `GC-45: Drop support for Python 3.5, Python 3.6, and Python 3.7 <https://projects.majic.rs/gimmecert/issues/GC-45>`_
 

	
 

	
 
0.5.0
 
-----
 

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

	
 
Resolved issues:
 

	
 
- **Tasks**:
provision.sh
Show inline comments
 
@@ -35,25 +35,25 @@ fi
 
apt-get update -qq
 

	
 
# Install development tools.
 
apt-get install -qq -y git virtualenv
 

	
 
# Install Python build dependencies.
 
apt-get install -qq -y make build-essential libssl-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.8.18" "3.9.18" "3.10.13")
 
python_versions=("3.8.18" "3.9.18" "3.10.13" "3.11.8")
 
work_directory="/home/vagrant/src"
 

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

	
 
for version in "${python_versions[@]}"; do
 
    # Set-up information about Python version.
 
    minor_version="${version%.[[:digit:]]}"
 
    interpreter="/usr/local/bin/python${minor_version}"
 
    source_archive_link="https://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"
 
    source_archive="$work_directory/Python-${version}.tar.xz"
 
    source_signature_link="https://www.python.org/ftp/python/${version}/Python-${version}.tar.xz.asc"
setup.py
Show inline comments
 
@@ -15,25 +15,25 @@
 
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 
# 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 os
 
from setuptools import setup, find_packages
 

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

	
 
python_requirements = ">=3.8,<3.11"
 
python_requirements = ">=3.8,<3.12"
 

	
 
install_requirements = [
 
    'cryptography>=42.0,<42.1',
 
    'python-dateutil>=2.8,<2.9',
 
]
 

	
 
doc_requirements = [
 
    'sphinx>=7.1,<7.2',
 
]
 

	
 
test_lint_requirements = [
 
    'flake8>=7.0,<7.1',
 
@@ -82,19 +82,20 @@ setup(
 
        'console_scripts': ['gimmecert=gimmecert.cli:main'],
 
    },
 
    classifiers=[
 
        'Development Status :: 4 - Beta',
 
        'Environment :: Console',
 
        'Intended Audience :: Developers',
 
        'Intended Audience :: System Administrators',
 
        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
 
        'Operating System :: OS Independent',
 
        'Programming Language :: Python :: 3.8',
 
        'Programming Language :: Python :: 3.9',
 
        'Programming Language :: Python :: 3.10',
 
        'Programming Language :: Python :: 3.11',
 
        'Topic :: Internet :: WWW/HTTP',
 
        'Topic :: Internet :: WWW/HTTP :: Site Management',
 
        'Topic :: Security',
 
        'Topic :: Software Development :: Testing',
 
        'Topic :: Utilities',
 
    ],
 
)
tox.ini
Show inline comments
 
@@ -9,36 +9,37 @@
 
# later version.
 
#
 
# Gimmecert is distributed in the hope that it will be useful, but
 
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 
# details.
 
#
 
# You should have received a copy of the GNU General Public License along with
 
# Gimmecert.  If not, see <http://www.gnu.org/licenses/>.
 
#
 

	
 
[tox]
 
envlist = {py38,py39,py310},lint,doc
 
envlist = {py38,py39,py310,py311},lint,doc
 

	
 
[testenv]
 
allowlist_externals =
 
  make
 

	
 
basepython =
 
  doc: python3
 
  lint: python3
 
  py38: python3.8
 
  py39: python3.9
 
  py310: python3.10
 
  py311: python3.11
 

	
 
deps =
 
  .[test]
 

	
 
setenv =
 
  # Force column width for functional tests since they depend on
 
  # predictable output format.
 
  COLUMNS=80
 

	
 
commands =
 
  # Must specify cov-report explicitly, otherwise coverage starts
 
  # going through the tests as well.
0 comments (0 inline, 0 general)