Port CI to gh actions#426
Conversation
|
CI is failing with errors of the form: |
|
@rahulporuri Any chance you could look into the CI failure here? I am pretty stumped... 😕 |
|
@aaronayres35 I don't see wxPython being installed into the test environment. Possibly a bug in |
|
Ah, |
|
For wx on Linux, the key line is this one: Line 237 in 5b28718 This installs a version of wxPython suitable for ubuntu-16.04, but the We'll likely need to fix the version of Ubuntu used in GitHub Actions (e.g., use |
|
One more thought: there's not a lot of value in testing on wxPython anyway: Envisage has no toolkit-specific code beyond the Qt console stuff for the IPython plugins. I'd be happy to drop wxPython testing altogether, or just leave a cron job that runs with one version of Python on one platform (e.g., Python 3.8 / Linux). |
|
@mdickinson Thank you! |
|
Be aware that the |
|
I went back to using ubuntu-18.04 per the suggestion above. CI failed, but then on GH Actions, adding an install of Given that as soon as this PR is merged I was planning to open a follow up PR to remove travis anyway, I think I am just going to kill travis now to avoid sinking more time into this |
That definitely sounds good to me! |
|
Hopefully this CI run will be all 🟢 . If that is the case I will stop running the cron jobs on PRs and this can get merged |
| """ | ||
| parameters = get_parameters(edm, runtime, toolkit, environment) | ||
| commands = ["{edm} run -e {environment} -- python -m flake8"] | ||
| targets = [ |
There was a problem hiding this comment.
Instead of this, I'd suggest changing the flake8 settings in a config file. That way the settings apply regardless of how flake8 is run, and not just in CI.
(I presume that this change is because there's some file that needs to be excluded from the flake8 run?)
There was a problem hiding this comment.
It actually wasn't a single file with errors, gh actions was trying to run flake8 on everything in the edm environment and was running for 20+ min:
...
./.edm/pkgs/9c/5dfc3b11de9f6cf06b47cbe5f431d4f56bebe5fe9c1c14492052301c13cd51/pip/_vendor/chardet/langcyrillicmodel.py:264:12: E231 missing whitespace after ','
./.edm/pkgs/9c/5dfc3b11de9f6cf06b47cbe5f431d4f56bebe5fe9c1c14492052301c13cd51/pip/_vendor/chardet/langcyrillicmodel.py:264:14: E231 missing whitespace after ','
./.edm/pkgs/9c/5dfc3b11de9f6cf06b47cbe5f431d4f56bebe5fe9c1c14492052301c13cd51/pip/_vendor/chardet/langcyrillicmodel.py:264:16: E231 missing whitespace after ','
./.edm/pkgs/9c/5dfc3b11de9f6cf06b47cbe5f431d4f56bebe5fe9c1c14492052301c13cd51/pip/_vendor/chardet/langcyrillicmodel.py:264:18: E231 missing whitesp
This step has been truncated due to its large size. Download the full logs from the menu once the workflow run has completed.
There was a problem hiding this comment.
Actually, I don't think I understand why this change was made - flake8 seems to run fine for me on the entire codebase; could you comment further?
There was a problem hiding this comment.
Hmm. That's weird. How did .edm end up in the current directory?
There was a problem hiding this comment.
Ah, I see; this is related to setting the EDM root directory. But putting the EDM root inside the repository clone doesn't seem right here. Is there something else we could do?
How are other ETS packages managing to avoid this issue?
There was a problem hiding this comment.
It was included in the first commit for the relevant file in traitsUI:
enthought/traitsui@4823b3f
and I'm not seeing any references to the error. I opened a quick PR without it on traitsUI to see if I see an error:
enthought/traitsui#1697 EDIT: CI finished on the traitsUI PR and there was no failure on windows... Perhaps it is not needed there? and maybe not here either
EDIT: this PR is more relevant enthought/enable#539, and here is the relevant comment thread enthought/enable#539 (comment)
There was a problem hiding this comment.
Thanks. I don't want to derail this PR - we can merge this one as-is, but it would still be good to figure out a better solution sometime.
There was a problem hiding this comment.
SGTM
Thank you for pointing this out! Far better than it just going unacknowledged
There was a problem hiding this comment.
Perhaps it is not needed there? and maybe not here either
Ah, interesting. Could we try removing it here to see what happens? (Can do that in a separate PR if you prefer.)
Also, I note from the enable traceback that the pip install seems to be using pip's "legacy" install mode; that might be because wheel isn't installed, and could explain why this issue doesn't seem to show up in the pip bug tracker.
There was a problem hiding this comment.
I went ahead and removed it here. I had already turned off ets-from-source and test-wx workflows on PR runs, but I figure test-with-edm is enough to verify if it is needed or not.
mdickinson
left a comment
There was a problem hiding this comment.
LGTM; a few nitpicks.
It would be good to revert the flake8 changes in etstool.py, but that can be done in a separate PR.
… job timing, grammar
part of #376 (can be closed when travis and appveyor are removed)
This PR adds two nearly identical work flows. One of which will run the test suite on every PR using packages from edm, the other which will run the test suite as a cron job using ets packages from source.
(see related PRs enthought/pyface#950 and enthought/apptools#288)