mne-tools / mne-installers

Installers for MNE-Python.
BSD 3-Clause "New" or "Revised" License
9 stars 8 forks source link

MAINT: Check against mne pip option #225

Closed larsoner closed 1 year ago

larsoner commented 1 year ago

Related to https://github.com/mne-tools/mne-python/issues/11831. We should check that mne[test,test_extra,full,doc] is installed by our installer.

Will fail until https://github.com/mne-tools/mne-python/pull/12209 is merged, should say something like:

AssertionError: Unexpected unmet dependencies:
Sphinx-6.2.1
mne-bids-0.14.dev0
mne-connectivity-0.6.0.dev0
mne-gui-addons-0.2.0.dev9+gc245654
pydata-sphinx-theme-0.13.3
sphinx-gallery-0.15.dev0
larsoner commented 1 year ago

The GHA build/test architecture had a couple big drawbacks:

  1. The file was getting very long
  2. All builds needed to complete before any tests were run

I thus refactored the action by:

  1. Splitting build, test into build_macos, build_linux, build_windows, test_macos, test_linux, test_windows jobs.
  2. Moving shell commands in building and testing to new tools/*.sh scripts
  3. Removing the name: for any steps where it was obvious from the script name and/or action what was happening

This ends up with some redundancy, but the flow is much more readable (way fewer if clauses), and it ends up at about half the number of lines compared to before. And now if one build finishes first -- like the Linux one -- its tests can start running immediately for faster feedback.

larsoner commented 1 year ago

@hoechenberger feel free to review and if you're happy I'll adjust the merge requirements to reflect the new job naming

hoechenberger commented 1 year ago

@larsoner please go ahead if you're happy, I won't have time to review today

larsoner commented 1 year ago

Linux tests completed before the macOS and Windows builds even completed :heart_eyes: