Skip to content

Workflow

BaMikusi edited this page Jul 14, 2022 · 12 revisions

Workflow

The management of the website makes use of Git branches - see here for an introduction on branches in Git and GitHub.

The default branch is staging, which is the branch were all the editing task are gathered before their publications. The website for the staging branch is built every time a change is made to the content in that branch and published under https://stage.rism.info. Updating the website takes a couple of minutes and the process can be followed under the Actions of the repository. Since the staging site is meant to be accessible only for review, its access is password protected.

Once the content of the staging branch is ready to be published, the branch is merged into the main branch. The main branch holds the content of the official website published under https://www.rism.info. When a merge of staging into main occurs, the official website is updated.

Editing and Pull Requests

Editing the content of the website is expected to happen in a separate branch, which will gather the different editing steps a user is making for a modification. Once this is completed, a pull request can be made for this separate branch to be merged into the staging branch:

image

Editing in GitHub vs Locally

For small modifications (e.g., correcting the content of a page, or adding a simple news), it is possible to perform the modifications directly in the GitHub web interface. This only requires having a user account and being logged in. See here for a general introduction about it.

It is helpful to make the distinction between a modification task (e.g. adding a news) vs the modifications steps. Typically, a task will consist of different steps (e.g., adding the news text in English, adding the image, adding the news text in German). In GitHub, each step will be one commit to your branch. Eventually, all the commits are grouped within one single pull request.

For more complex modifications, it is recommended to clone the repository and to make the modifications locally before pushing them back to GitHub. With this setup, it is possible to group steps together into one commit. File manipulation (copying, renaming, or moving files) is much easier.

Do not merge if a pull request says "All checks have failed."

Switching Branches on GitHub

When browsing the repository, you can select a branch to navigate and to edit. By default, the staging branch is selected.

image

If you already created a branch for your modifications for you modification task, you can switch to that branch there. Please make sure you are in the correct branch before making any further modification steps.

If you have not created a branch for your modification task (e.g., you are starting one), you will create it when making the first modification step.

Publish to the public website

In order to publish the current state of the staging branch, it needs to be merged into main. From the home of the repository, go to the 'pull-requests' page:

image

There, click the "New pull request" button. When you create the PR, make sure you select the main branch (left) as the one you want to merge to, from staging (right, which should be selected by default):

image

Then create the pull request and wait for the tests to be verified. Once all checks have passed, you can merge the pull request, which will trigger an update of the public website.

Do not delete the staging branch once you have merged.