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

Enable testing on Windows with AppVeyor #1331

Closed
wants to merge 2 commits into from
Closed

Enable testing on Windows with AppVeyor #1331

wants to merge 2 commits into from

Conversation

dgw
Copy link
Member

@dgw dgw commented May 13, 2018

Adds AppVeyor configuration file and tweaks the use of temp files in tests so they run properly in the AppVeyor environment.

I'm still working on the configuration via test builds attached to my fork, and there have already been several force-pushes to this branch to fix the actual tests (because of how tempfile works on Windows vs. Linux) and tweak the build matrix. Expect more before this is ready to merge—especially since AppVeyor has stopped actually running jobs for me, making it impossible to finish testing the config.

When complete, this will resolve #1330. (Though I didn't expect to get around to it so soon, which I why I even made the tracking issue. Could be worse.)

@dgw
Copy link
Member Author

dgw commented May 13, 2018

Well, it is nice to have official confirmation that the tweaks I made to get tests passing on AppVeyor didn't break Travis, at least. Opening the PR might have fixed AppVeyor's stuck queue, it seemsNope, the queue is still stuck, but I'm done for the night anyway. It's almost 3am.

Meanwhile, if anyone can tell me why the python -c 'import struct; print struct.calcsize("P") * 8' command is causing a parse error, I'd appreciate the pointer. (It's mostly for debugging the builds, because I'm not convinced AppVeyor actually gives us 64-bit Windows. Based on my experience, pyenchant should fail to install on Windows x64, and it worked just fine in previous test builds.)

Adds AppVeyor configuration file and tweaks the use of temp files in
tests so they run properly in the AppVeyor environment.
@dgw
Copy link
Member Author

dgw commented May 17, 2018

The tests pass on AppVeyor, but at least the 64-bit jobs should be failing due to pyenchant. I don't really want to merge this until the jobs we expect to fail, fail. But I suspect my patience will last only so long… and even if it doesn't catch the Windows problem we know about it would still be nice to have AppVeyor catching whatever issues it can on new PRs and such.

@dgw
Copy link
Member Author

dgw commented May 19, 2018

I know what's happening now, thanks to a push from AppVeyor support and a little digging. PyEnchant bundles libraries for Windows, but the install failures I and other have seen occurred under MSYS2.

This AppVeyor config can be further extended to also test on MSYS2 (which is supported)…or we can just say MSYS2 is not a supported environment for Sopel. I'd like to support it—ideally Sopel should run anywhere Python is available. I will dig some more before finalizing this configuration.

@Exirel
Copy link
Contributor

Exirel commented Apr 21, 2019

ideally Sopel should run anywhere Python is available

Yeah... except for some command options, like fork, because Windows does not support os.fork().

So, this beg the question: do we want to support Windows? If so, I'd push even more for dropping old version of Python, because the matrix support would be already quite huge.

@dgw dgw modified the milestones: 7.0.0, 8.0.0 Apr 22, 2019
@dgw
Copy link
Member Author

dgw commented Apr 22, 2019

Well, you know… "run" doesn't mean "all features work identically". 😛

You've already seen the Python version-support plans for the next couple of releases, so don't worry—py2 will go away Real Soon Now™ and we can stop bothering with it. Actually, I decided to bump this into Sopel 8, which is currently planned to drop several old Python versions.

@dgw
Copy link
Member Author

dgw commented Oct 24, 2019

Six months later, I think I'll abandon this. During the dev cycle for Sopel 8, we'll probably switch from Travis to GitHub Actions. Even if we don't switch, Travis has Windows environments available. No matter what, we'll be able to test on Windows in the same CI tool as Linux builds.

@dgw dgw closed this Oct 24, 2019
@dgw dgw added Declined Requests that will not be implemented for technical or project direction reasons and removed Work In Progress labels Oct 24, 2019
@dgw dgw removed this from the 8.0.0 milestone Oct 24, 2019
@dgw dgw deleted the appveyor branch October 24, 2019 20:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Declined Requests that will not be implemented for technical or project direction reasons Tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Configure CI testing on Windows
2 participants