SoarGroup / Soar

Soar, a general cognitive architecture for systems that exhibit intelligent behavior.
http://soar.eecs.umich.edu
Other
322 stars 70 forks source link

Add windows to `test_python` and fix compilation/importing #471

Closed ShadowJonathan closed 3 weeks ago

ShadowJonathan commented 1 month ago

Closes #470

ShadowJonathan commented 1 month ago

Github CI is being incredibly annoying, please double-check if all checks were indeed ran, and if it reaches the "Test wheel on all python versions" stage.

garfieldnate commented 1 month ago

"Test wheel on all python versions" is getting skipped. My guess is that it's because the build-*nix (ubuntu 24.04) step is being skipped. Why that is, I don't know, though!

ShadowJonathan commented 1 month ago

Yeah it's because GitHub CI is/was not properly working for a couple of hours. You can hit the re-run button if you want to try it again.

I've gotten it to run properly on my own fork, and I'm now encountering the import error that was encountered in the workshop, and it's a really annoying one to debug and be certain of what's happening.

ShadowJonathan commented 1 month ago

We seem to be running into this: https://github.com/actions/runner-images/issues/9959

ShadowJonathan commented 1 month ago

I found the problem; https://github.com/SoarGroup/Soar/issues/470#issuecomment-2139142344

Apparently, the windows builds are pointing to python39.dll, which shouldn't be the case.

(Also CI will crash on the test file, since apparently you cant print an emoji...)

ShadowJonathan commented 4 weeks ago

I'll mark this as draft until I've figured this out.

ShadowJonathan commented 4 weeks ago

Figured it out; you can check https://github.com/ShadowJonathan/Soar/actions/runs/9302102798/job/25602114115 for a run where it runs without requiring the ubuntu runners.

Unfortunately https://github.com/actions/runner-images/issues/9959 persists, and github hasnt responded to it yet, nor is it visible in https://www.githubstatus.com

I'd recommend keeping an eye on that issue, and re-run the CI once it has been resolved, to see a completely green checkmark list.

garfieldnate commented 4 weeks ago

Nice job! How did you fix the cp1252 issue? I've subscribed to updates on the runner issue, and I'll re-run as soon as that's resolved. Thanks for all your work!

ShadowJonathan commented 4 weeks ago

How did you fix the cp1252 issue?

For Python versions 3.7 and up, there's the environment variable PYTHONUTF8 to allow it to output and map unicode characters. For 3.6 and below I had to use PYTHONIOENCODING=utf-8.

Do you want me to add that in comments above the env-variable setting?

garfieldnate commented 4 weeks ago

Ah, right! I had thought that setting was there already. Makes sense. I guess a comment is a good idea.

The runner issue has been resolved, as well, so I'm re-running the jobs for this PR.

ShadowJonathan commented 4 weeks ago

Added the comment :)

ShadowJonathan commented 4 weeks ago

Grrr there's a flake on testSpreadingActivation, apparantly

garfieldnate commented 3 weeks ago

That does sound familiar. I thought I had seen a flakey test recently and recorded it but I can't find a note. I'll add something to #385.

garfieldnate commented 3 weeks ago

Merged! Thanks, Jonathan!

ShadowJonathan commented 3 weeks ago

Thanks!

I've deleted the windows wheel on the only available release on pypi just now, and will send an email monday to all the workshop participants who reached out with their email to explain to them the issue is (most likely) fixed, and to install it via test.pypi.org, once the automatic monday build has rolled around and uploaded it :)

This prevents anyone from downloading a broken wheel, but also makes soar-sml uninstallable for windows users (for now), with .3 being the next version which has that wheel.

Currently I don't think the situation is that speedy to require uploading more dev artifacts to pypi to fill pre-release needs, since .3 is around the corner(ish), so i think we can bear with that for now.

If .3 will take a few more months, however, then that might change.

garfieldnate commented 3 weeks ago

I don't believe that it will take months, but I need to coordinate a bit to determine the timing. I'll let you know when I find out.