SasView / sasview

Code for the SasView application.
BSD 3-Clause "New" or "Revised" License
51 stars 41 forks source link

Add more steps to github actions #1733

Closed wpotrzebowski closed 4 months ago

wpotrzebowski commented 3 years ago

The current versions of github actions:

builds SasView, builds the documentation and runs tests on Ubuntu, Windows and macOS.
install packages via pip (conda is not used); pip wheels are cached
runs GUI tests under Linux

but it does not yet do that travis does:

report status to Slack - this looks easy enough to add but needs a slack workspace admin to do set up the web hook secrets

and it does not yet do but travis doesn't either:

build the Qt GUI under MacOS (wheels for pyuic5 are not currently available it seems)
enforce that the GUI tests pass; they don't currently pass (but we obviously should have that as a goal)
run GUI tests under MacOS and Windows
(shouldn't be blockers for merging)

As noted in #1644, future development could extend these actions/add additional actions to build/test installers and even publish installers and wheels for the packages.

pkienzle commented 3 years ago

Can we unhook travis now even though we are not putting commits on the slack channel?

Τravis builds are failing because scipy/numpy dropped support for python 3.6.

wpotrzebowski commented 3 years ago

It is probably worth to split it into sub-issues. 1) Testing Windows installer (done partially) 2) Deployment for Linux and OSX (partially done too) 3) Adding certificates signing for OSX and Windows 4) Adding notarization step 5) Explore bandwidth of the free solution and feasibility of using it in the future (alternative - self-hosted servers).

rozyczko commented 3 years ago

re 1. Looks good, python 3.9 is a very welcome addition. Things discovered so far:

llimeht commented 3 years ago

Is it possible to write tests to find each of these problems in CI? That would be a good outcome.

rozyczko commented 3 years ago

re: pyzmq - my local tests show that we need to downgrade pyzmq to pyzmq=19.0.1 for the console to work properly. This dependency should probably be added to the yaml. And there we go again to restricting versions based on functionality but I don't see any other solution. Similarly with MPL - we either downgrade MPL or replace nonposy='clip' with nonpositive='clip' in our source.

The empty charts might be a separate issue

wpotrzebowski commented 3 years ago

I am able to produce dmg file with OSX installer https://github.com/SasView/sasview/actions/runs/879815924 but is spectacularly crashing with Seg Fault... Happy pyinstaller debugging to come.

wpotrzebowski commented 3 years ago

OSX dmg seems to work now. There is some issue with matplolib scalling: 10:27:42 - ERROR: Traceback (most recent call last): File "sas/qtgui/MainWindow/GuiManager.py", line 1203, in showPlot File "sas/qtgui/MainWindow/DataExplorer.py", line 1104, in displayData File "sas/qtgui/MainWindow/DataExplorer.py", line 1173, in plotData File "sas/qtgui/Plotting/Plotter.py", line 138, in plot File "sas/qtgui/Plotting/PlotterBase.py", line 183, in yscale File "matplotlib/axes/_base.py", line 3938, in set_yscale File "matplotlib/axis.py", line 744, in _set_scale File "matplotlib/scale.py", line 632, in scale_factory TypeError: __init__() got an unexpected keyword argument 'nonposy

But other than that it seems to work fine.

wpotrzebowski commented 3 years ago

Signing step still needs to be added.

wpotrzebowski commented 2 years ago

Notarization step needs revisit.

rozyczko commented 1 year ago

Windows code signing will soon be fully automated, based on the new DigiCert KeyLocker feature. https://docs.digicert.com/en/digicert-keylocker/general/benefits.html

We are getting this as soon as the subscription renews (Sept)

krzywon commented 4 months ago

Now that we have a windows signing mechanism, this should be resolved. Closing