mne-tools / mne-installers

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

ENH: Speed up build+test #134

Closed larsoner closed 2 years ago

larsoner commented 2 years ago

Why do we build installers for two versions of each OS (plus M1)? It seems like we should build just on the oldest one for each OS (plus M1), then test on the oldest and the newest version of each OS (plus M1). In other words, it seems like we should have two stages: the first "build" stage on 4 OSes (old ubuntu/mac/win + M1), and a second "test" stage on 7 OSes (old/new x ubuntu/mac/win, plus M1).

hoechenberger commented 2 years ago

I like this idea! Let's do this!

… who'll do it? ;)

larsoner commented 2 years ago

I'm happy to do it. But if you've never worked with stages/artifacts/persistence etc. and want to learn more about GitHub actions, I think this would be a good way to do it.

hoechenberger commented 2 years ago

Please do go ahead if you have the time, my todo bucket is overflowing already…

larsoner commented 2 years ago

Looks like a combo of these two docs should suffice:

After #133 is in I'll give it a shot. One disadvantage is that these are ~1GB so it'll actually add some time to upload/download them. But given that most of our failures are in the build stage and that stage takes ~20 minutes, it'll probably still be a net win time-wise. Plus then we can download the artifacts as part of the PR if we want.

I'm not sure at what point these sizes will create problems, though, since for every successful build/commit we'll have ~4GB of artifacts created...