Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add github action to run unit tests #349

Merged
merged 2 commits into from
May 18, 2020
Merged

Add github action to run unit tests #349

merged 2 commits into from
May 18, 2020

Conversation

tskisner
Copy link
Member

@tskisner tskisner commented May 16, 2020

This PR changes the continuous integration service from travis to github actions / workflows. The main benefits are larger allowed resource usage, including a 6 hour run time per job and no need to print things to stdout to keep the job alive like on travis. Also the unit tests on github run faster than on travis.

The units test are also converted to run in pre-built docker containers with all dependencies. These are generated automatically for python 3.5-3.8 whenever a new tag is made of the cmbenv repo:

https://github.com/hpc4cmb/cmbenv/blob/master/.github/workflows/deploy.yml

Hopefully this will streamline the process of updating the testing whenever a dependency is updated.

@tskisner tskisner self-assigned this May 16, 2020
  - For python 3.5, 3.6, 3.7, and 3.8 pull the appropriate cmbenv:toast-deps
    container.

  - Install toast into a temporary container based on one of these upstream
    images.

  - Run the serial and MPI tests in this temporary container, and also test
    that the documentation builds with sphinx.

This also removes the entire directory of travis support scripts, which
are no longer needed.  An additional workflow can be added later for deploying
to pip wheels.
@tskisner
Copy link
Member Author

Ok @zonca and @keskitalo , please look at this when you have time. It removes all the travis dependency stuff in favor of using the containers here:

https://hub.docker.com/orgs/hpc4cmb/repositories

And runs the serial / MPI unit tests and builds the docs directly on github. The workflow status looks like this:

https://github.com/hpc4cmb/toast/pull/349/checks?check_run_id=681613869

I think this will be much easier to maintain and extend to deploying docs and pip wheels going forward.

@tskisner tskisner requested review from keskitalo and zonca May 16, 2020 22:23
Copy link
Member

@keskitalo keskitalo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow. This really cleans up the continuous integration stuff!

Copy link
Member

@zonca zonca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks very good!

.github/workflows/test.yml Show resolved Hide resolved
@tskisner
Copy link
Member Author

Ok, thanks for the feedback, merging now.

@tskisner tskisner merged commit f1c9908 into master May 18, 2020
@tskisner tskisner deleted the gh_actions branch May 18, 2020 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants