diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d0ca94d..28c6e1e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,19 +14,28 @@ on: jobs: build: - name: Python ${{ matrix.python-version }} - runs-on: ubuntu-latest + name: Python ${{ matrix.python-version }} on ${{ matrix.os }} + runs-on: ${{ matrix.os }} strategy: matrix: python-version: - - "3.8" - - "3.9" - "3.10" - "3.11" - "3.12" - "3.13" - - "pypy3.10" + - "3.14" + os: + - ubuntu-latest + - windows-latest + include: + # pypy3.10 on windows-latest fails one test, which I've briefly + # investigated and I think it's a bug in pypy -- the generator uses a + # with statement and closes the file before terminating, and the test + # uses the generator in a for loop, so it should guarantee + # termination and close the file before the cleanup code runs. + - python-version: "pypy3.10" + os: ubuntu-latest steps: - name: Git clone @@ -36,22 +45,16 @@ jobs: uses: actions/setup-python@v5 with: python-version: "${{ matrix.python-version }}" - - - name: Pip cache - uses: actions/cache@v4 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('setup.py') }} - restore-keys: | - ${{ runner.os }}-pip-${{ matrix.python-version }}- - ${{ runner.os }}-pip- + cache: pip + cache-dependency-path: | + setup.py - name: Install dependencies run: | python -m pip install -U pip python -m pip install -U setuptools wheel python -m pip install -U zope.testrunner coverage coveralls - python -m pip install -e .[test] + python -m pip install -e '.[test]' - name: Run tests run: coverage run -m zope.testrunner --test-path=src diff --git a/CHANGES.rst b/CHANGES.rst index 004cf15..b7624f6 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,10 +1,12 @@ Changelog ========= -4.0.1 (unreleased) +4.1.0 (unreleased) ------------------ -- Drop support for Python 3.7. +- Add support for Python 3.14. + +- Drop support for Python 3.7, 3.8, and 3.9. 4.0.0 (2024-10-17) diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 3461342..0000000 --- a/appveyor.yml +++ /dev/null @@ -1,32 +0,0 @@ -version: build-{build}-{branch} - -environment: - matrix: - # https://www.appveyor.com/docs/installed-software#python lists available - # versions - - PYTHON: "C:\\Python38" - - PYTHON: "C:\\Python39" - - PYTHON: "C:\\Python310" - - PYTHON: "C:\\Python311" - - PYTHON: "C:\\Python312" - - PYTHON: "C:\\Python313" - -init: - - "echo %PYTHON%" - -install: - - ps: | - if (-not (Test-Path $env:PYTHON)) { - curl -o install_python.ps1 https://raw.githubusercontent.com/matthew-brett/multibuild/11a389d78892cf90addac8f69433d5e22bfa422a/install_python.ps1 - .\install_python.ps1 - } - - ps: if (-not (Test-Path $env:PYTHON)) { throw "No $env:PYTHON" } - - "set PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - - python --version - - pip install -U virtualenv # upgrade pip in tox's virtualenvs - - pip install tox - -build: off - -test_script: - - tox -e py diff --git a/setup.py b/setup.py index a21079b..9627206 100755 --- a/setup.py +++ b/setup.py @@ -38,16 +38,15 @@ def read(filename): 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)', 'License :: OSI Approved :: GNU General Public License v3 (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', 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.13', + 'Programming Language :: Python :: 3.14', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', ], - python_requires='>=3.8', + python_requires='>=3.10', keywords='irc log colorizer html wsgi', extras_require=dict(test=[ "zope.testing", diff --git a/src/irclog2html/_version.py b/src/irclog2html/_version.py index 7afa50b..53d9d97 100644 --- a/src/irclog2html/_version.py +++ b/src/irclog2html/_version.py @@ -1,3 +1,3 @@ -__version__ = '4.0.1.dev0' -__date__ = '2024-10-17' +__version__ = '4.1.0.dev0' +__date__ = '2025-11-06' __homepage__ = 'https://mg.pov.lt/irclog2html/' diff --git a/tox.ini b/tox.ini index 95b1cd5..04af5fa 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py38, py39, py310, py311, py312, py313, pypy3, flake8 +envlist = py310, py311, py312, py313, py314, pypy3, flake8 [testenv] deps =