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

Periodically build notebooks to ensure they haven't broken #43

Open
yochannah opened this issue Jun 24, 2019 · 5 comments
Open

Periodically build notebooks to ensure they haven't broken #43

yochannah opened this issue Jun 24, 2019 · 5 comments
Assignees

Comments

@yochannah
Copy link
Member

yochannah commented Jun 24, 2019

APIs and data change, and over time our notebooks end up with errors. #42 is one example of this.

Let's add a CI layer that runs the notebooks periodically, so we can be notified when things break, rather than finding out at or soon before a tutorial when we're trying to teach them....

This may require some creative thinking to get the tokens working correctly.

Several great suggestions how to get the notebooks running in Travis or GitLab here: https://twitter.com/yoyehudi/status/1143118846234173440

@niveditarufus
Copy link
Contributor

I would really like to look into this, can it be assigned to me?

@mkhoshle
Copy link

mkhoshle commented Mar 9, 2020

@yochannah I am an outreachy applicant and I am interested to pick up this issue. Can I work on this issue?

@mkhoshle
Copy link

mkhoshle commented Mar 9, 2020

@yochannah I used this package testipynb. I added a script that tests all *.ipynb files and reports whether they are failed or passed.
There only two things that need to be added:

  1. automize the file so that it checks all the files at a specific time every day. Something like a Cron job?
  2. Do you want to look at all ipynb files in a specific folder or the whole repository?
    Here is the code, I just need you to confirm for me that the above changes are fine.
import unittest

NBDIR = '/Users/mahzadkhoshlessan/Desktop/intermine-ws-python-docs'

Test = testipynb.TestNotebooks(directory=NBDIR, timeout=2100)
TestNotebooks = Test.get_tests()

if __name__ == "__main__":
    unittest.main()

And here is how the output looks like:
Output

@leoank
Copy link
Member

leoank commented Mar 10, 2020

@niveditarufus @mkhoshle Both of you can try solving this issue. We won't judge you based on who has the best implementation here. The goal here is to demonstrate your collaboration skills(git, PR, communication).

@niveditarufus
Copy link
Contributor

niveditarufus commented Mar 10, 2020

Submitted a pull request which might close the issue. @leoank @uosl @yochannah Kindly review it.

yochannah pushed a commit that referenced this issue Jun 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants