enthought / mayavi

3D visualization of scientific data in Python
http://docs.enthought.com/mayavi/mayavi/
Other
1.31k stars 285 forks source link

Setup GitHub Actions CI #1076

Closed rahulporuri closed 3 years ago

rahulporuri commented 3 years ago

Setup GitHub Actions CI to run the mayavi testsuite.

Note that this PR departs from what CI was doing until today. Travis and AppVeyor CI used EDM to setup the Python environment and used EDM to install dependencies. This PR on the other hand uses the System Python available in GitHub Actions CI jobs (via a GitHub Action) and uses pip to install the dependencies. This, we feel, is closer to what most users of MayaVi experience, which will hopefully help us discover issues quickly and make the codebase more maintainable.

Additionally, Travis and AppVeyor CI tested against both VTK versions 7 and 9. Travis was setup to test against VTK version 8 but in reality, the CI job has actually been using VTK 9 since it became the latest available version via PyPI. This PR, for now, pins the VTK version to 8.1.2. Once we settle on the supported versions of VTK for the current version of MayaVi, we will work on updating CI to test against all supported versions. Ref https://github.com/enthought/mayavi/issues/1082.

This PR also removes the AppVeyor and Travis CI configurations and utilities removed by those CI jobs. This includes scripts to install EDM, files containing requirements/dependencies and related.

rahulporuri commented 3 years ago

Question for reviewer - given the fact that both AppVeyor and Travis CI failed on this PR (like in https://github.com/enthought/mayavi/pull/1078 and all but one jobs failed in #1080 ), i'm inclined towards removing Travis and AppVeyor CI in this PR itself.

corranwebster commented 3 years ago

Not the reviewer, but feel free to remove TravisCI etc. if it makes your life easier. One CI system that we are confident about is better than 3 that are fragile.

mdickinson commented 3 years ago

This PR on the other hand uses the System Python

Just to be clear, we're actually using the Python installed by the setup_python rather than the system Python on the GitHub Actions workers. And that's the right thing to do, so that we have full control over the Python environment.

rahulporuri commented 3 years ago

Just to be clear, we're actually using the Python installed by the setup_python rather than the system Python on the GitHub Actions workers. And that's the right thing to do, so that we have full control over the Python environment.

Yup. Sorry for that.