sandialabs / pyGSTi

A python implementation of Gate Set Tomography
http://www.pygsti.info
Apache License 2.0
134 stars 56 forks source link

GitHub runner updates #388

Closed sserita closed 8 months ago

sserita commented 8 months ago

This includes several quality-of-life and deprecation runner updates and addresses #387.

As an example, this cuts the current runtime from nearly 2 hours (with the MacOS oversubscription problem) to 13 minutes on this feature branch.

coreyostrove commented 8 months ago

Question for you before I approve this. If I understand everything here correctly the new workflow structure is such that:

  1. main-minimal gets run upon pushes to any branch.
  2. main, which includes python 3.9 and 3.10 on linux and windows, gets run only upon pushes to develop and master (and external PRs).
  3. main-mac which includes python 3.8 through 3.11 on macOS only gets run upon pushes to beta and master (and external PRs).

Is splitting off main and main-mac necessary? In principle beta should track develop in which case there is little difference and these workflows could be merged. In practice this is only true when test_extras passes, though, so I wasn't sure if this was the reason behind that difference.

sserita commented 8 months ago

Thanks for taking a look Corey - you understand the proposed workflow correctly.

The reason I split main and main-mac was to avoid the Mac runners stuffing up tests on develop, which I thought was the original intent of #387. Although rereading now, I think you may have just wanted main-minimal and main. The Mac tests rarely catch bugs that the linux tests do not, but we do have cases where develop fails and does not push to beta - in these cases, I thought having the more streamlined no Mac tests would be worthwhile. We do want to test the Mac environment eventually, thus we have main-mac which runs on beta and master just so we have the full complement of tests on those branches.

I don't feel too strongly about this. If you think it is cleaner to merge the workflows and don't mind waiting for the Mac tests when we push to develop, I will change that and remerge those.