Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump release dependencies #374

Merged
merged 6 commits into from Nov 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
60 changes: 54 additions & 6 deletions .github/workflows/ci.yaml
Expand Up @@ -16,7 +16,7 @@ jobs:

- uses: actions/setup-python@v4
with:
python-version: '3.8'
python-version: '3.11'

- uses: actions/cache@v3
with:
Expand Down Expand Up @@ -51,7 +51,7 @@ jobs:
${{ runner.os }}-pip-docs-
${{ runner.os }}-pip-

- run: python -m pip install tox
- run: python -m pip install 'tox<4'

- run: tox -q -e docs

Expand All @@ -63,15 +63,35 @@ jobs:
continue-on-error: ${{ matrix.experimental }}
strategy:
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "pypy-3.8", "pypy-3.9"]
# Python versions common to lowest and latest
python-version: ["3.8", "3.9", "3.10", "pypy-3.9"]
twisted-version: ["lowest", "latest"]
experimental: [false]

include:
- python-version: "3.8"
twisted-version: "trunk"
experimental: true
# Pythons too old for latest
- python-version: "3.7"
twisted-version: "lowest"
experimental: false

- python-version: "pypy-3.8"
twisted-version: "lowest"
experimental: false

# Pythons too new for lowest
- python-version: "3.11"
twisted-version: "latest"
experimental: false

- python-version: "3.12"
twisted-version: "latest"
experimental: false

- python-version: "pypy-3.10"
twisted-version: "latest"
experimental: false

# Experimental trunk build
- python-version: "3.9"
twisted-version: "trunk"
experimental: true
Expand Down Expand Up @@ -101,8 +121,11 @@ jobs:
"3.8": "py38",
"3.9": "py39",
"3.10": "py310",
"3.11": "py311",
"3.12": "py312",
"pypy-3.8": "pypy3",
"pypy-3.9": "pypy3",
"pypy-3.10": "pypy3",
}
factor = table["${{ matrix.python-version }}"]
print("::set-output name=value::" + factor)
Expand All @@ -117,3 +140,28 @@ jobs:
COVERALLS_REPO_TOKEN: 4nctuKHTnVtbdmty2FgdO3iiWm1nb7xc4
COVERALLS_FLAG_NAME: python_${{ matrix.python-version }}-twisted_${{ matrix.twisted-version }}
COVERALLS_PARALLEL: true

# Helper so that on GitHub repo settings we can configure to single job.
# Then required jobs can be updated directly form the code,
# without having to go the GitHub repo setting -> Protected branch
# and all the clicking.
treq-required:
runs-on: ubuntu-latest
timeout-minutes: 10
if: ${{ !cancelled() }}
# Add here the jobs that should block the merge of a PR.
needs:
- lint
- docs
- test
steps:
- name: Require all successes
shell: python3 {0}
env:
RESULTS: ${{ toJSON(needs.*.result) }}
run: |
import json
import os
import sys
results = json.loads(os.environ["RESULTS"])
sys.exit(0 if all(result == "success" for result in results) else 1)
5 changes: 3 additions & 2 deletions .gitignore
Expand Up @@ -8,8 +8,9 @@ dist
/docs/html
/.eggs
MANIFEST
.coverage
/.coverage
/.coverage.*
coverage
htmlcov
_trial_temp*
.tox
/.tox
1 change: 1 addition & 0 deletions changelog.d/364.feature.rst
@@ -0,0 +1 @@
Python 3.11 is now supported.
1 change: 1 addition & 0 deletions changelog.d/374.feature.rst
@@ -0,0 +1 @@
PyPy 3.10 is now supported.
3 changes: 3 additions & 0 deletions changelog.d/374.removal.rst
@@ -0,0 +1,3 @@
Support for PyPy 3.8, which has reached end of support, is deprecated. This is the last release with support for PyPy 3.8.

The minimum supported Twisted version has increased to 22.10.0. Older versions are no longer tested in CI.
1 change: 1 addition & 0 deletions changelog.d/375.feature.rst
@@ -0,0 +1 @@
Python 3.12 is now supported.
6 changes: 3 additions & 3 deletions setup.py
Expand Up @@ -7,11 +7,11 @@
"Operating System :: OS Independent",
"Framework :: Twisted",
"Programming Language :: Python",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"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 :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
Expand All @@ -32,7 +32,7 @@
"incremental",
"requests >= 2.1.0",
"hyperlink >= 21.0.0",
"Twisted[tls] >= 18.7.0",
"Twisted[tls] >= 22.10.0",
"attrs",
],
extras_require={
Expand Down
14 changes: 8 additions & 6 deletions tox.ini
@@ -1,8 +1,8 @@
[tox]
envlist =
py37-twisted_lowest,
{pypy3,py37,py38,py39,py310}-twisted_latest,
{pypy3,py37,py38,py39,py310}-twisted_trunk,
{pypy3,py38,py39,py310,py311,py312}-twisted_latest,
{pypy3,py38,py39,py310,py311,py312}-twisted_trunk,
twine, check-manifest, flake8, docs, coverage-report
isolated_build = true

Expand All @@ -11,7 +11,7 @@ extras = dev
deps =
coverage

twisted_lowest: Twisted==18.7.0
twisted_lowest: Twisted==22.10.0
twisted_latest: Twisted
twisted_trunk: https://github.com/twisted/twisted/archive/trunk.zip
setenv =
Expand All @@ -26,25 +26,27 @@ commands =
{envbindir}/trial {posargs:treq}

[testenv:flake8]
python = python3.11
skip_install = True
deps = flake8
commands = flake8 src/treq/

[testenv:towncrier]
python = python3
python = python3.11
deps =
towncrier
commands =
towncrier {posargs:--draft}

[testenv:twine]
python = python3
python = python3.11
deps =
twine
commands =
twine check {distdir}/*.*

[testenv:check-manifest]
python = python3.11
deps =
check-manifest
commands =
Expand All @@ -58,7 +60,7 @@ commands =
sphinx-build -b html . html

[testenv:coverage-report]
depends = pypy3,py37,py38,py39
depends = pypy3,py37,py38,py39,py310,py311,py312
commands =
coverage combine
coverage report
Expand Down