Website under the hood

This whole website was made using Github pages and Jekyll to help illustrate some of the software carpentry elements we wish to focus on in the training program. The repository for the website is stored on a Github repository, and Github handles building the website from the repository automatically. Our software Carpentry expert David Pérez-Suárez has setup continuous integration using CircleCI, so that we can check and make sure any changes won’t break the website

Whenever one of the team wants to add a new blog post or change content, the following steps happen:

  1. They first create or edit a markdown file which will eventually be turned into a webpage.
  2. They commit their changes to a new branch, and when they are ready they make a pull request and ask another member of the team to review it.
  3. In the meantime, the pull request tells CircleCI it is time to run a number of tests, including does the website build and are there any errors in the HTML.
  4. After all of the checks have passed and the reviewer is approved, the pull request is merged into the main branch.
  5. Github then goes on to build the actual website that you see here.

It’s a great exercise of how simple bits of branching and continuous integration can help avoid major problems. I know from experience, as it stopped me from building the website with errors on a number of occasions!

– David Cash