GitHub setup and use - cma-open/cmatools GitHub Wiki

Repository and project setup

This project is managed via a project board owned at the organisation level, rather than the repo level.

The project board at an organisatino level can list issues and milestones relating to several repositories (e.g. cmatools, cmascience).

Issues are defined at the named repository level, and can then be assigned to a named project.

The use of commonly named milestones can allow issue from different repositories to be filtered together on the same project board.

The project board is organised with all issues initially stored in the "To Do" column.

As issues are refined and ready for work they are assigned to a suitable Sprint, e.g.

  • "1. This Sprint" milestone and moved to the "Sprint Ready" column.
  • Issues then move through the project board columns as work progresses
  • In progress > review in progress > review approved > Done

Github settings

Users with administrative privileges can modify the settings asscoiated with indiviual projects and repositories. e.g. https://github.com/cma-open/cmatools/settings

A variety of configuration options can be set depending on developer or team preference, including merge commit style, requirements for review of pull requests before allowing merges and automatic deletion of merged branches. e.g. merge options can be chosen at the point of merge by the developer, or a selected style can be enforced accross the project (merge commit, squash, rebase).

The following have currently been set for this repo:

  • Automatically delete head branches
  • Some workflows require GitHub API access, these are configued via adding personal access tokens to repo secrets. The secrets are then safely accessible via the workflow actions.