Continuous integration (e.g. travis)


I checked out the fastai2 repository, and noticed that it does not seem to be using a CI (“Continuous Integration”) tool, for example Travis which can be integrated on github.

Is there a particular reason not to use it? Or would there be interest in me sending a pull request?

I am thinking that it would mainly run the tests automatically and report the results, for each submitted PR.

fastai has it’s own git actions that run tests when you submit a PR. This is thanks to the nbdev integration. Specifically, it’ll run nbdev_test_nbs to ensure that it all works :slight_smile:

Here’s an example of it when I commited some code (that I knew was broken of course :wink: ):

And so the commit will show a red X as a result, showing not everything has passed

1 Like

Interesting! Do these actions run on the user’s side or on github/other hosted platform?

They run on the user side from your fork, so it’s based on the nbdev'd setup environment (all projects should be forks of the nbdev_template). So it will run upon each commit to your fork of fastai2 However if at any point you want to, make sure nbdev is installed on your system and run nbdev_test_nbs from your CLI

1 Like

Very cool, I’ll have to learn about that :+1:

Thanks for marking up the points. As, I’ve recently bumped into the best ci cd tools and eventually read that selection process should involve stakeholders from the core development team, QA and QC, and the deployment team.