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

Add support for Python 3.9 #851

Merged
merged 10 commits into from Apr 6, 2021
Merged

Add support for Python 3.9 #851

merged 10 commits into from Apr 6, 2021

Conversation

WhyNotHugo
Copy link
Member

@WhyNotHugo WhyNotHugo commented Oct 19, 2020

Fixes #847
Fixes #854

Also replaced Travis CI with sourcehut's offering.

ETESYNC_TESTS are currently not running, I'll address that soon separately.

Only tests with Python 3.9 are running now. I'll evaluate how important it is to run the whole suite with older Pythons. I feel it might be an overkill.

However, we do have a build that runs with older dependencies. It might make sense to replace that with an Debian-based one, and actually install dependencies from Debian's repositories. Debian makes sense as a reference of "what's the oldest we're willing to support". Anyone with older dependencies around can just use an older version of vdirsyncer.

@WhyNotHugo
Copy link
Member Author

Depends on untitaker/pytest-subtesthack#5 being released.

@Tonus1
Copy link
Contributor

Tonus1 commented Nov 8, 2020

Is there any news on python3.9 support ? I unfortunately upgraded a bit too fast...

@WhyNotHugo
Copy link
Member Author

WhyNotHugo commented Nov 9, 2020

The above issue is blocking upgrading. I might look into possibly dropping the dependency is that ends up being feasible.

@dvzrv
Copy link

dvzrv commented Nov 13, 2020

@WhyNotHugo we're currently in the process of rebuilding all things on Arch against python3.9.
Unfortunately the test suite for vdirsyncer is still broken.

I'll probably disable the tests for the time being if this is further blocked by pytest-subtesthack.

@@ -271,6 +271,9 @@ def get_cfg():
}


hack = 0
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:O

@WhyNotHugo
Copy link
Member Author

httpsserver from pytest-localserver seems to fail since it creates what is now considered insecure certificates.

The issue is that the project has vanished; there's not website for it, or anything online aside from the PyPI tarballs.

@d7415
Copy link

d7415 commented Dec 14, 2020

The issue is that the project has vanished; there's not website for it, or anything online aside from the PyPI tarballs.

Looks like they didn't migrate it when they moved everything else. There's a copy here but it doesn't sound (in the linked issue) like they're planning to maintain it 😞

@fourstepper
Copy link

fourstepper commented Feb 7, 2021

May I ask in which state this is right now? Is the plan to remove the dependency and/or is there a way to patch around for now?

EDIT: It seems that Fedora has been patching around this. https://src.fedoraproject.org/rpms/vdirsyncer/blob/rawhide/f/vdirsyncer-0.16.8-python_getiterator_deprecation.patch

EDIT2: nevermind, my bad

@WhyNotHugo
Copy link
Member Author

Fedora's patch seems unrelated to the above issue.

The most likely course of action is to drop this dependency. What is does it run a local HTTPS server, and the test checks that vdirsyncer validates it properly. I think the simplest thing to do would be to just run the simplest HTTPS server is come docker container (e.g.: haproxy? nginx?) and use that instead.

This kinda aligns with how we run CalDAV servers for tests too.

The main issue with the current dependency, is that is generates certs that are too insecure by today's standards. Creating a fork of that lib and patching it seems to much burden in the long run.

@WhyNotHugo
Copy link
Member Author

Travis is no longer free and we're out of credits.
Gonna have to move CI onto something else 😞

@d7415
Copy link

d7415 commented Mar 2, 2021

Travis is no longer free and we're out of credits.

I guess that probably applies to all of pimutils? You can apply for "OSS credits" but you need to keep applying for them (so it's fine short term, but a pain longer term).

Edit: Oh, actually it looks like you can ask for recurring credits.

@geier
Copy link
Member

geier commented Mar 3, 2021

I have requested some OSS credits, let's see if this helps us.

@WhyNotHugo
Copy link
Member Author

Oh, neat, thanks!

@fourstepper
Copy link

I would be happy to try migrate the CI for this (and/or other projects) to an alternative CI system. Sourcehut build system (https://man.sr.ht/builds.sr.ht/) and GH Actions come to mind.

@WhyNotHugo
Copy link
Member Author

@geier Have you gotten any reply from Travis? OSS credits still seem to be 0.

@fourstepper I really think fixing everything on Travis first makes sense the most -- it'd be really hard to migrate CI right now since many tests are failing due to non-CI reasons (e.g.: broken dependencies, etc).

However, if you want to give GitHub Actions a shot, you're more than welcome. Be warned that the CI setup for this repo is pretty non-trivial (but let me know if you've questions).

@geier
Copy link
Member

geier commented Mar 9, 2021

nope, only got a generic "Thank you for your support request, we'll get back to you shortly" mail. The good thing about github actions would be, that we could set up our own runner. But I definitively don't have the time to port vdirsyncer. I'm trying to do this for khal at the moment (see github actions branch). Feel free to have a look everyone, help is appreciated.

Hugo Osvaldo Barrera added 6 commits April 5, 2021 23:28
The former one does not support Python 3.9.
It's embarrassing that I didn't come up with something so simple before.
@geier
Copy link
Member

geier commented Apr 19, 2021

I got a reply from travis on the weekend, we have 25k new credits. When they are used up, we can re-apply for more credits.

@WhyNotHugo
Copy link
Member Author

Thanks for the followup.

I've managed to set up CI on https://builds.sr.ht/ though, but I'll keep the credits in mind if need comes.

@geier
Copy link
Member

geier commented Apr 19, 2021

@WhyNotHugo great! travis' loss.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Test issues with python3.9 Please provide python 3.9 support
6 participants