Add py38 to CI #732
Closed
chadwhitacre wants to merge 13 commits from
2065.add-py38-to-ci
into master
pull from: 2065.add-py38-to-ci
merge into: tahoe-lafs:master
tahoe-lafs:master
tahoe-lafs:meejah/4096.release-1.20
tahoe-lafs:meejah/4078.round-two
tahoe-lafs:a-detiste/remove-future
tahoe-lafs:4072-no-more-blocking-part-2
tahoe-lafs:4080-larger-chunks
tahoe-lafs:exarkun/debug
tahoe-lafs:meejah/4076.relase-1.19.0
tahoe-lafs:meejah/4069-benchmark-improvements
tahoe-lafs:exarkun/4053.nix-integration-test-runner
tahoe-lafs:exarkun/4058.test_pidfile_contents
tahoe-lafs:3899.failed-server
tahoe-lafs:4057.circleci-windows-unittests
tahoe-lafs:exarkun/tor-integration-test-improvements
tahoe-lafs:4043.auto-upgrade-foolscap-to-http
tahoe-lafs:4025-i2p-integration-test
tahoe-lafs:restrict-ci-to-wheelhouse
tahoe-lafs:4020-new-werkzeug
tahoe-lafs:3949.remove-ubuntu-github-actions.2
tahoe-lafs:danielzwlee/3972.untyped-defs
tahoe-lafs:3948.static-setup
tahoe-lafs:3953.remove-redundant-static-checks
tahoe-lafs:switch-to-static-metadata-setuptools
tahoe-lafs:Fenn-CS/3846.add-add-release-script
tahoe-lafs:our-own-netifaces
tahoe-lafs:documentation-journey-redesign
tahoe-lafs:3761.new-storage-client-interface
tahoe-lafs:3636.doc-toc-reorg
tahoe-lafs:LeastAuthority/3813.remove-dynamic-packaging-stuff
tahoe-lafs:switch-to-flit
tahoe-lafs:3755.gbs-design-doc
tahoe-lafs:3679.more-cli-tests-python-3
tahoe-lafs:3676.right-python-on-github
tahoe-lafs:3652.cover-AccountURLChecker
tahoe-lafs:3665.unpin-docutils
tahoe-lafs:code-of-conduct
tahoe-lafs:3643.take-stock-of-python3-port
tahoe-lafs:cli-test_backup-python-3
tahoe-lafs:update-community-on-read-me-1
tahoe-lafs:update-community-on-read-me
tahoe-lafs:jehadbaeth/bug/2448
tahoe-lafs:3533.test_root-no-mock
tahoe-lafs:2916.grid-manager-proposal.5
tahoe-lafs:3516.test_connections
tahoe-lafs:3457.http-introducer.1
tahoe-lafs:3457.http-introducer
tahoe-lafs:3457.grid-introducer
tahoe-lafs:3489.test_matchers
tahoe-lafs:3321.data-to-be-downloaded-file0
tahoe-lafs:3441.dump-share-tests
tahoe-lafs:3465.storage_client-python-3
tahoe-lafs:3455.py3-port-test_node
tahoe-lafs:3401.test_system-pypy
tahoe-lafs:3374.codec-monitor-python-3
tahoe-lafs:3299.update-pypy
tahoe-lafs:meejah/pubsub-proposal
tahoe-lafs:3242.config-object
tahoe-lafs:1893.refactor-mutable-share-write-implementation
tahoe-lafs:add-missing-test-module
tahoe-lafs:3138.circleci-test-concurrency
tahoe-lafs:ccxcz/crdt-dirs-spec
tahoe-lafs:2950.errortarget-isdir
tahoe-lafs:3022.servers-of-happiness-storage-concentration
tahoe-lafs:1587.basic-progress-report
tahoe-lafs:try-waiting-long-enough
tahoe-lafs:magic-folder-concurrent-write
tahoe-lafs:2237.cloud-backend-s4-merged.4
tahoe-lafs:1431.windows-fixes.6
tahoe-lafs:1431.windows-fixes.4
tahoe-lafs:1431.windows-fixes.3
tahoe-lafs:2438.magic-folder-stable.13
tahoe-lafs:2438.magic-folder-stable.12
tahoe-lafs:517.add-client-plugin-config.1
tahoe-lafs:2537.download-retry.5
tahoe-lafs:1431.windows-fixes.2
tahoe-lafs:2412.remove-lazy-tail.4a
tahoe-lafs:2412.remove-lazy-tail.2
tahoe-lafs:1431.windows-fixes.1
tahoe-lafs:2537.download-retry.4
tahoe-lafs:2709.fix-magic-folder-stats.1
tahoe-lafs:2535.chmod-not-umask.2
tahoe-lafs:2709.fix-magic-folder-stats.0
tahoe-lafs:2635.periodic-uploader-scan.4
tahoe-lafs:2438.magic-folder-stable.10
tahoe-lafs:2438.magic-folder-stable.11
tahoe-lafs:2438.magic-folder-stable.8
tahoe-lafs:2438.magic-folder-stable.9
tahoe-lafs:1431.windows-fixes.0
tahoe-lafs:1973.status-last-rx-rebased.5
tahoe-lafs:2635.periodic-uploader-scan.3
tahoe-lafs:2438.magic-folder-stable.7
tahoe-lafs:2438.magic-folder-stable.6
tahoe-lafs:2635.periodic-uploader-scan.2
tahoe-lafs:2438.magic-folder-stable.5
tahoe-lafs:2438.magic-folder-stable.5.wip
tahoe-lafs:2438.fix-tests.2
tahoe-lafs:2635.periodic-uploader-scan.0
tahoe-lafs:2604.ntfs-vista-casemap.0
tahoe-lafs:2568.make-join-useable.1
tahoe-lafs:2551.wip.2
tahoe-lafs:2551.remote-conflict-detection.4
tahoe-lafs:2553.refactor.1
tahoe-lafs:2553.refactor.0
tahoe-lafs:2553.do-not-read-from-own-dmd.3
tahoe-lafs:2553.do-not-read-from-own-dmd.1
tahoe-lafs:2553.do-not-read-from-own-dmd.2
tahoe-lafs:2553.do-not-read-from-own-dmd.0
tahoe-lafs:2551.remote-conflict-detection.3
tahoe-lafs:1431.magic-folder-windows.2
tahoe-lafs:2551.remote-conflict-detection.2
tahoe-lafs:2551.remote-conflict-detection.1
tahoe-lafs:1431.magic-folder-windows.1
tahoe-lafs:2438.magic-folder-stable.4
tahoe-lafs:1710.actually-unlink-files.3
tahoe-lafs:1431.magic-folder-windows.0
tahoe-lafs:2506.enforce-paths.5
tahoe-lafs:2533.fix-cli-parsing.1
tahoe-lafs:2521.magic-db-schema.1.wip
tahoe-lafs:2521.magic-db-schema.1
tahoe-lafs:2438.magic-folder-stable.3
tahoe-lafs:2521.magic-db-schema.0
tahoe-lafs:2438.magic-folder-stable.3.wip
tahoe-lafs:2438.magic-folder-stable.2
tahoe-lafs:2506.enforce-paths.4
tahoe-lafs:2506.enforce-paths.3
tahoe-lafs:2506.enforce-paths.2
tahoe-lafs:2506.enforce-paths.0
tahoe-lafs:2506.wip.0
tahoe-lafs:2438.magic-folder-stable.2.wip
tahoe-lafs:2438.magic-folder-stable.1
tahoe-lafs:2428.ignore-hidden-and-temp-files.0
tahoe-lafs:2438.magic-folder-stable.0
tahoe-lafs:2497.fix-magic-folder-tests.0
tahoe-lafs:2438.fix-tests.1
tahoe-lafs:2438.fix-tests.0
tahoe-lafs:2489.write_downloaded_file.1
tahoe-lafs:2489.write_downloaded_file.0
tahoe-lafs:2477.refactor-all-the-things.1
tahoe-lafs:517.tor-i2p-documentation.0
tahoe-lafs:2477.refactor-all-the-things.0
tahoe-lafs:2477.refactor-all-the-things.0.wip
tahoe-lafs:2227.format-mutable.0
tahoe-lafs:test-twisted-15.3.0pre1
tahoe-lafs:1710.test-alice-and-bob.3
tahoe-lafs:2659.test-sdmf-version-partial-read.0
tahoe-lafs:2237.cloud-backend-s4.eliminate-mock.0
tahoe-lafs:1710.test-alice-and-bob.2
tahoe-lafs:2453.magic-folder-cli.1
tahoe-lafs:1710.local-deletion-water-dragon.1.test-alice-and-bob.1
tahoe-lafs:2438.otf-objective-4.2
tahoe-lafs:2438.otf-objective-4.1
tahoe-lafs:2442.flat-hierarchy-uploader.1
tahoe-lafs:2408.move-backupdb-out-of-scripts.1
tahoe-lafs:2443.otf-objective-5.2
tahoe-lafs:2443.otf-objective-5.1
tahoe-lafs:2427.remove-uploader-watch.1
tahoe-lafs:1431.windows-drop-upload.6
tahoe-lafs:2215.refuse-vulnerable-openssl.3
tahoe-lafs:1431.windows-drop-upload.5
tahoe-lafs:2418.remote-to-local-sync.2
tahoe-lafs:2418.remote-to-local-sync.1
tahoe-lafs:1431.windows-drop-upload.4
tahoe-lafs:2416.allow-twisted-13-on-windows.2
tahoe-lafs:2416.allow-twisted-13-on-windows.1
tahoe-lafs:1431.windows-drop-upload.3
tahoe-lafs:1431.windows-drop-upload.2
tahoe-lafs:2406.otf-objective-2.5
tahoe-lafs:2406.otf-objective-2.4
tahoe-lafs:2406.otf-objective-2.3.1-fix-upload-deque
tahoe-lafs:2406.otf-objective-2.3
tahoe-lafs:2406.otf-objective-2.2
tahoe-lafs:2406.otf-objective-2.1
tahoe-lafs:1431.windows-drop-upload.1
tahoe-lafs:2375.tests-non-ascii.4
tahoe-lafs:2375.tests-non-ascii.3
tahoe-lafs:2312.enable-deprecation-warnings-for-tests.0
tahoe-lafs:2388.fix-paths-must-be-unicode-strings.1
tahoe-lafs:2375.tests-non-ascii.2
tahoe-lafs:2374.test-with-new-twisted.1
tahoe-lafs:2375.tests-non-ascii.1
tahoe-lafs:pr138
tahoe-lafs:2342-Too-many-open-files-1
tahoe-lafs:2011-allmydataectomy-1
tahoe-lafs:2345-least-authority-file-store-1
tahoe-lafs:2329-test-0
tahoe-lafs:2027-inconsistent-tahoe-cp-1
tahoe-lafs:2249-deps-and-osx-packaging-1
tahoe-lafs:2249-deps-and-osx-packaging-0
tahoe-lafs:2249-windows-sucks
tahoe-lafs:2136-csp-sandbox_0
tahoe-lafs:2215-refuse-vulnerable-openssl-2
tahoe-lafs:1836-use-leasedb-for-share-count
tahoe-lafs:1431-windows-drop-upload
tahoe-lafs:2215-refuse-vulnerable-openssl
tahoe-lafs:2028-no-endpoints-on-windows
tahoe-lafs:rel-1.9.2
tahoe-lafs:2065-python3-strawman
tahoe-lafs:iputil-regression
tahoe-lafs:1953-branch-in-version
tahoe-lafs:rel-1.9.1
No reviewers
Labels
No Label
Benchmarking and Performance
HTTP Storage Protocol
Nevow Removal
Python 3 Porting
not-for-merge
Milestone
Clear milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Clear assignees
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: tahoe-lafs/tahoe-lafs#732
Reference in New Issue
No description provided.
Delete Branch "2065.add-py38-to-ci"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I've got tox barely running under Python 3.8 locally, making a PR so I can start seeing what CI does with it.
(I don't have perms on Trac yet to make a new ticket, so my branch name uses the old mega-ticket 2065.)
Punchlist
tor_requires
/i2p_requires
Hrm, hack to work around lack of a txi2p release is causing problems. 🤔
I'm also not immediately seeing the connection between tox config and CI config ... where's py38 at? 🧐
Here's the first py38 run!
https://travis-ci.org/github/tahoe-lafs/tahoe-lafs/jobs/704285475
TIL towncrier.
Once I get Trac perms I'll create a proper ticket there, and once I have CI working I'll close this PR and open a fresh one from a new branch with the right ticket number and towncrier will be happy and everyone will be happy and we'll all be happy together.
Interesting bug on Travis with pyinstaller when bumping to Xenial, where the system pip is 19.0.3 vs. ancient 9.0.1 on Trusty. Manifests as
no such option: --no-use-pep517
. That option was added in 19.1, and our pinned pip is 19.1.1.Working on Trusty: https://travis-ci.org/github/tahoe-lafs/tahoe-lafs/jobs/704285470
Broken on Xenial: https://travis-ci.org/github/tahoe-lafs/tahoe-lafs/jobs/704292628
Hypothesis is that somehow invoking as
python -m pip
underpyinstaller
is finding the system pip vs. the tox-installed pip?https://travis-ci.org/github/tahoe-lafs/tahoe-lafs/jobs/704292633 shows expected behavior for py38 tho:
I.e., the port to Python 3 is blocked on https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3244.
Perhaps we could make the
tahoe --version
step optional/allowed to fail or move it to after the test suite. We suppose it will still be a while before the Nevow dependency is completely removed but I hope there is a sizable chunk of the codebase and test suite which can be ported and run even while the Nevow dependency lingers in the web code. (As I said though, "I hope".)That's going to be essential, as it sounds like Nevow removal is going to be several more weeks...
💃
https://travis-ci.org/github/tahoe-lafs/tahoe-lafs/jobs/704631138
Debugging this
--no-use-pep517
issue ...Working on Trusty
https://travis-ci.org/github/tahoe-lafs/tahoe-lafs/jobs/704656231#L1764-L1769
Broken on Xenial
https://travis-ci.org/github/tahoe-lafs/tahoe-lafs/jobs/704654720#L1504-L1510
Okay, I think I'm on the right track:
https://discuss.python.org/t/how-should-virtualenv-behave-respective-of-seed-packages-e-g-pip-by-default/4146
Broken on Xenial, virtualenv is 16.1.0.
Working on Trusty, virtualenv is 20.0.25.
Feel free to drop Python 3.5 from this config, too. That was from an earlier failed porting effort. We don't need to keep trying to support it.
Moving to #734.
Pull request closed