-
Notifications
You must be signed in to change notification settings - Fork 3
Home
The following workflow actions are available:
- testpypi.yml (run nightly and manually): This action installs the dune packages from pypi and runs the fem tutorial (see run-tutorial.py). The tutorial is split into 2 parts which are run in parallel (core part and an extension part which includes the dune-femdg and dune-vem examples). Python 3.7 and 3.9 is tested on ubuntu-latest.
Todo: add macOS. Add tests of other tutorial. Possibly iterate over all modules and run 'python -m dune.foo' to access a given tutorial, e.g., 'dune-grid' has a tutorial which is never tested
- packaging.yml (only manually) This action clones a set of dune modules, runs 'dunepackaging.py' to build distributions. These are then tested as above (test job code in workflow is duplicated). If the test succeed the packages are uploaded to testpypi by default but that can be changed by changing the default 'testpypi' to 'pypi' for the 'upload' variable.
Note: the packages used for testing are available for download from the github action. If a package fails this can be used locally to test the packages.
-
If possible we should remove the code duplication between the workflow files - perhaps using a single script instead of individual job steps is better.
-
Should the package upload to pypi be done each night to provide a nightly snapshot (assuming the tests succeed).
-
Provide an option to upload additional packages by providing a variable to the packaging.yml. This can be triggered manually and a package name provided. Of course then dune-fem's tutorial is not tested but a tutorial available for that module. That workflow file could then also be easily copied into another repository and the default for that variable set to this one module. This would provide an easy automatic packaging approach for other modules.