5 ECTS Assignment#

If you are studying the Master’s Programme in Geography, you can earn 5 ECTS for the course by completing the following assignment.

Github Actions for Scientific Data Workflows#

Your task is to publish a jupyter notebook from the final assignment as a public website using GitHub Pages, which basically lets you host websites for free on GitHub. The publication (or deployment of the website) should be automated using GitHub Actions. This means evertytime you push a new commit to the repo, the public website is updated. This is called CI/CD (Continuous Integration/Continuous Deployment).

Watch this video about CI/CD

The content of the notebook should be based on the final assignment.

  • It must contain at least one figure and a paragraph explaining what it shows.

  • It should be understandable for non-scientists.

  • There should be no code cells. You can hide them by adding --no-input to the nbconvert command in the GitHub Action workflow file.

1. Create a GitHub account#

Create a free GitHub account if you don’t have one yet:

2. Get familiar with GitHub Actions#

Work through the tutorial Github Actions for Scientific Data Workflows given by Valentina Staneva, Quinn Brencher, Scott Henderson at the SciPy Conference in 2024.

Unfortunately, there is no video of the talk, but there is one from the US-RSE’23 Conference in 2023 which has a very similar content. Watch it if you need some explanations.

After running the workflow create_website_spectrogram.yml the notebook is automatically published on GitHub Pages and it is available at the URL: https://.github.io/SciPy2024-GitHubActionsTutorial. Don’t forget to add the html file name to the URL

Example: https://redfrexx.github.io/SciPy2024-GitHubActionsTutorial/plot_noise_levels.html

I get a 404 error when I try to access the website

If you see a 404 error, make sure you added the html file name to the URL: https://.github.io/SciPy2024-GitHubActionsTutorial/plot_noise_levels.html

3. Create a new GitHub repository#

Create a new empty repository on GitHub. Add a jupyter notebook from the assignment to the repository.

4. Publish your Jupyter Notebook on GitHub Pages using your own repository#

After you have followed the tutorials above, implement the GitHub Action for publishing a Jupyter Notebook on GitHub Pages in your own repository.

note: Your notebook should be