-
Notifications
You must be signed in to change notification settings - Fork 325
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
can we simplify how our tests are defined and run? #1292
Comments
Just to put a few stakes in the ground:
|
Thanks for opening this @drammock - I am +1 on standardising and hopefully unifying how CI and local dev tasks are performed.
While I have been using nox for some automation tasks over Makefiles (mostly to get the Python syntactic sugar), I acknowledge that using it for development/packaging stretches it beyond its capabilities. A decent alternative I have found for these cases is hatch - I have adopted this in other packages, and it has been a smooth transition. Hatch also comes with the added benefit that it ensures that the dependencies are always up to date. There is also a discussion around improving/automating the release process, so migrating to a more automated release process #1169, and we can leverage some of the features from hatch (versioning, building, artefacts checking) so it might help us tackle two pain points at the same time? Of course this would need broader consensus and associated discussion
I am in the same boat here, so I did some digging. Note I am far from an expert on how So I assume it is only needed when there are changes on JS, styles, and all those webpack-y things (so it is technically not needed if, for example, we only make docs content changes and need to rebuild the docs - like in 😱 As I was writing this, I realised one of my sources of confusion was that My best guess is that sometimes we call phew that was a long one, so TLD;R +1 on adopting a more intuitive way to call our "dev" and "build" tasks, ideally consistent through CI and local use |
My turn: I agree we should rationalize things here. and multiple points have been raised in the previous messages: what's the difference between
|
I'm curious who is the "we" and when it was decided. Would be nice to have a "decision log" or something similar (a simple GH repo wiki page would be good enough I think). That said: I'm looking closer at
When docs-live was working normally I used it frequently so yes let's please keep it.
Do you mean that
Specifically which ones should go elsewhere? (and where is elsewhere?)
I don't really know how babel works so I probably can't offer alternative solutions off the top of my head. But I do know that there's a step in GH actions file that says "compile the MO files" and it's the only step that uses nox. So if we can skip using nox for that, it will at least simplify the GH Actions a little! |
A few thoughts from me, I'll try to keep it short and split out by sub topic! Nox
Standardizing in cd
Theme builder
Babel
Build tool
Decision log
Finally I suggest that we identify any topics that require ongoing conversation, and create issues for them with dedicated conversation |
+1
That ought to be easy, but it is not (cf. #1149)
ha, I'm used to MNE-Python docs, to me the rebuild of our theme docs feels fast(ish).
+1
I think that is appropriate for the current size of the team. I'm not suggesting an entirely new process; rather I'm suggesting that a bit gets tacked on the end: where someone notices that a decision may be controversial (maybe there is no clear "best" or "right" way) or have wide consequences, and if so they add to the decision log a very short summary of what the decision is, the rationale, and a link to the discussion (PR). |
This PR addresses some of the concerns/issues raised in #1292
I believe most of the points raised here have been addressed by #1759 |
This PR addresses some of the concerns/issues raised in pydata#1292
I'm having trouble wrapping my head around our testing setup, which makes it hard to add new tests (both for interactive local testing and for CIs). I think what we have now is (simplified):
(NOTE: the "a11y" tests in the above diagram refer to work in #1260 that isn't in
main
yet.The mix-and-match of
stb
versussphinx-build
, callingpytest
orsphinx-build
orstb
directly vs calling thenox
job... it all has my head spinning; currently we don't usenox
in our CI config (except for the "compile MO files" step of therun-pytest
job? why??)Thoughts/advice from anyone are very welcome.
Originally posted by @drammock in #1260 (comment)
The text was updated successfully, but these errors were encountered: