Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
325f340
Fork and rename project, until str4d is back
sajith Mar 10, 2021
3f7ee36
Note that this is a "temporary" fork in README
sajith Mar 10, 2021
c50462d
Update install instructions
sajith Mar 10, 2021
684d09c
Add two recent Twisted versions
sajith Mar 10, 2021
49807ac
Use PY3 definition from six
sajith Mar 10, 2021
08675ad
A first attempt at a CircleCI configuration
exarkun Jun 29, 2022
c4aacfc
fix name
exarkun Jun 29, 2022
03e0f14
fix markup
exarkun Jun 29, 2022
fe1c622
see if tox is found this way
exarkun Jun 29, 2022
df36b7b
match the tox environment names
exarkun Jun 29, 2022
49ade7d
try to get a docker image that has the python we want
exarkun Jun 29, 2022
30b090b
shell vs yaml!
exarkun Jun 29, 2022
faee586
pypy docker image doesn't follow the pattern
exarkun Jun 29, 2022
8d0d617
drop python 3.6 (eol) and pypy (should not need special support I think)
exarkun Jun 29, 2022
436c13e
set up a separate matrix for pypy
exarkun Jun 29, 2022
bb451fa
try not using tox
exarkun Jun 29, 2022
5c8f090
try harder not to use tox
exarkun Jun 29, 2022
fdbe50a
try to have less bad shell
exarkun Jun 29, 2022
e23824c
fix the test running command
exarkun Jun 29, 2022
fc76955
Attempt to retain Python 2.7 coverage
exarkun Jun 29, 2022
3f0ffae
TravisCI is no longer used
exarkun Jun 29, 2022
b892aa3
This tox configuration is not helpful
exarkun Jun 29, 2022
0e7093f
These files are no longer relevant.
exarkun Jun 29, 2022
c0e1c3e
Get the mock dependency on Python 2
exarkun Jun 29, 2022
2b7644b
actually install the test extra
exarkun Jun 29, 2022
ce33031
finish adapting to setuptools_scm, perhaps
exarkun Jun 29, 2022
9bd45d5
try to build a release wheel
exarkun Jun 29, 2022
07b0c84
fix the yaml
exarkun Jun 29, 2022
cb41fc4
it doesn't go that high on Python 2 ...
exarkun Jun 29, 2022
1e7fb06
Do continuous releases to TestPyPI
exarkun Jun 29, 2022
5162f25
Disable the local version scheme because PyPI doesn't accept it
exarkun Jun 29, 2022
693a71f
try out a testing version of the production release workflow
exarkun Jun 29, 2022
143c42a
get rid of the "a" junk :/
exarkun Jun 29, 2022
85bf2d9
let me try a few more times
exarkun Jun 29, 2022
fa5af2b
appease the friendly yaml
exarkun Jun 29, 2022
4c68049
switch over to production configuration
exarkun Jun 29, 2022
4f90d88
Merge pull request #3 from tahoe-lafs/setup-continuous-integration
exarkun Jun 29, 2022
96a5080
re-enable the plugin test suite on Python 3
exarkun May 21, 2022
78d13b4
use the real twisted IPlugin so plugins are really discoverable
exarkun May 21, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
168 changes: 168 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
version: 2.1

orbs:
# Get easier access to the Windows machine executor.
win: "circleci/windows@4.1.1"

jobs:
build-wheel:
docker:
- image: "cimg/python:3.10"

steps:
- "checkout"
- run:
name: "Build Wheel"
command: |
python -m pip install build
python -m build
- store_artifacts:
path: "./dist/"
- persist_to_workspace:
root: "./dist/"
paths:
- "*"

pypi-upload:
parameters:
repository:
type: "string"

docker:
- image: "cimg/python:3.10"

environment:
TWINE_REPOSITORY: "<< parameters.repository >>"
TWINE_USERNAME: "__token__"

steps:
- attach_workspace:
at: "release-workspace"

- run:
name: "Upload Wheel"
command: |
set -eux -o pipefail

if [ "<< parameters.repository >>" = "testpypi" ]; then
export TWINE_PASSWORD="${TESTPYPI_API_TOKEN}"
elif [ "<< parameters.repository >>" = "pypi" ]; then
export TWINE_PASSWORD="${PYPI_API_TOKEN}"
else
echo "Unknown repository: << parameters.repository >>"
exit 1
fi

python -m pip install twine
python -m twine upload --non-interactive release-workspace/*

tests:
parameters:
image-base:
type: "string"
python-version:
type: "string"
twisted-version:
type: "string"

docker:
- image: "<< parameters.image-base >>:<< parameters.python-version >>"

steps:
- "checkout"
- run:
name: "Setup Test Environment"
command: |
python -m pip install coverage coveralls .[test]

case << parameters.twisted-version >> in
current) TW="Twisted" ;;
trunk) TW="git+https://github.com/twisted/twisted.git" ;;
*) TW="Twisted==<< parameters.twisted-version >>" ;;
esac
python -m pip install --upgrade "$TW"

- run:
name: "Run Tests"
command: |

python -m coverage run --source=txi2p --omit=*/_version.py,*test* -m twisted.trial txi2p
python run_coveralls.py


workflows:
version: 2

release:
jobs:
- "build-wheel":
filters:
tags:
only: "/^\\d+\\.\\d+\\.\\d+$/"
branches:
ignore: "/.*/"
- "pypi-upload":
filters:
tags:
only: "/^\\d+\\.\\d+\\.\\d+$/"
branches:
ignore: "/.*/"
repository: "pypi"
requires:
- "build-wheel"

tests:
jobs:
- "build-wheel"
- "pypi-upload":
repository: "testpypi"
requires:
- "build-wheel"

- "tests":
matrix:
parameters:
image-base:
- "cimg/python"

python-version:
- "3.7"
- "3.8"
- "3.9"
- "3.10"

twisted-version:
- "trunk"
- "current"
- "22.2.0"
- "19.2.1"

- "tests":
matrix:
parameters:
image-base:
- "pypy"

python-version:
- "3.7"
- "3.8"
- "3.9"

twisted-version:
- "trunk"
- "current"
- "22.2.0"
- "19.2.1"

- "tests":
matrix:
parameters:
image-base:
- "pypy"
- "cimg/python"

python-version:
- "2.7"

twisted-version:
- "20.3.0"
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

.coverage
.eggs/
.tox/
coverage/
dropin.cache
env/
Expand All @@ -15,6 +14,4 @@ build/
dist/
docs/_build
txi2p.egg-info/
vcversioner-*.egg/
_version.py
version.txt
139 changes: 0 additions & 139 deletions .travis.yml

This file was deleted.

16 changes: 11 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
=====
txi2p
=====
===========
txi2p-tahoe
===========

This is a hopefully temporary fork of txi2p_, to help Tahoe-LAFS_
project to get unstuck in Python 3 porting efforts.

.. _txi2p: https://pypi.org/project/txi2p/
.. _Tahoe-LAFS: https://pypi.org/project/tahoe-lafs/

.. image:: https://api.travis-ci.org/str4d/txi2p.svg?branch=master
:target: https://www.travis-ci.org/str4d/txi2p
Expand All @@ -22,11 +28,11 @@ Installation

You can install |txi2p| from PyPI::

$ pip2 install txi2p
$ pip install txi2p-tahoe

or by downloading the source and running::

$ pip2 install .
$ pip install .

inside the source directory.

Expand Down
6 changes: 5 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
[build-system]
requires = ["setuptools", "vcversioner>=1"]
requires = ["setuptools", "setuptools_scm[toml]"]

[tool.setuptools_scm]
write_to = "txi2p/_version.py"
local_scheme = "no-local-version"
16 changes: 6 additions & 10 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def readme():
install_requires.append('Twisted>=15.4')

setup(
name='txi2p',
name='txi2p-tahoe',
description='I2P bindings for Twisted',
long_description=readme(),
author='str4d',
Expand All @@ -46,15 +46,6 @@ def readme():
'Topic :: Internet',
],
license='ISC',

# This is left to support installation with pip < 10 or with another tool.
# However, it is expected that modern installations will be performed with
# pip >= 10 and will look at pyproject.toml first, mooting this
# declaration.
setup_requires=['vcversioner>=1'],
vcversioner={
'version_module_paths': ['txi2p/_version.py'],
},
install_requires=install_requires,
packages=[
'txi2p',
Expand All @@ -65,6 +56,11 @@ def readme():
'txi2p.sam.test',
'twisted.plugins',
],
extras_require={
"test": [
"mock; python_version < '3.0'",
],
},
)

# Make Twisted regenerate the dropin.cache, if possible. This is necessary
Expand Down
Loading