Hello, Jupyter community,
I have previously used Jupyter Notebooks created by others, and now I’m thinking about creating my own publicly distributed Jupyter Notebook. I researched the topic and found a few solutions, but honestly, I got even more confused. So, I’m hoping that you could help me clarify my options.
I have an online course (Performance Ninja), which I would like to turn into a Jupyter Notebook. The course is hosted on Github. There I have the source code for the lab assignments that students need to work on. They need to fix the issue by changing the code and submit (git push) their work. It will be picked up by Github Actions and sent to my remote server, which is appropriately configured for performance benchmarking.
I want to make a Jupyter Notebook, which will be a view into my Github repo. It will provide nice interface, ability to focus on the part of the code that matters (kernel of the benchmark), and have a simple way of submitting solutions for automated benchmarking (just hit Shift-Enter).
I was looking at JupyterHub. It should work nicely, but then the issue is that I have to have a public static IP for the JupyterHub server.
Ideally, I would like to be able to trigger Github Actions workflow from the Jupyter Notebook itself. A user (student) would authenticate themselves with Github, change the code and hit Shift-Enter, which will trigger Github Actions (maybe pushing the code to a private branch).
Anyway, I assume, I’m not the first person facing a similar problem. I would be interested to know what is my best option here?