Github Source Code Management Repository
Title | Github Code Repository |
---|---|
Use | Stores source code for the project gives access to contributors and team members, allows updates to the master release branch. Runs test and continuous integration tools for deployments. |
Owner | |
Location | https://github.com/voluntarily
|
Cost | Free (Open Source Organisation Account) |
Billing | none but billing emails will be sent to andrew@voluntarily.nz |
Voluntarily has a Github Organization account
Organizations are shared accounts where groups of people can collaborate across many projects at once. Owners and administrators can manage member access to the organization's data and projects with sophisticated security and administrative features.
As Voluntarily is Open Source this account is free.
This status is identified using a verified domain - https://github.com/organizations/voluntarily/settings/domains against both the Voluntari.ly and Voluntarily.nz domains.
Access Control
See https://github.com/organizations/voluntarily/settings/member_privileges for current status
Summary:
Everyone has read access to the repository.
Admins can create & delete repositories, give other members access for commits.
Branch and Commit to branch restricted to members of the developer team
Merge and commit to master restricted to admins.
Membership Process
To gain write access to the repository you must:
Have an established GitHub personal account
Complete ticket https://voluntarily.atlassian.net/browse/VP-82
Part of completing VP-82 includes consenting to the MPL-2.0 license and Code of conduct.
Contact an admin (Andrew, Walt or Ete) via Gitter, slack, email or in-person to request access.
Admin will add you to the organisation members and join you to the developer's team
2FA is recommended but not required for simple membership access
Admin Process
To be given admin rights you must:
Be a technical employee of Voluntarily
or be a trusted and experienced, long term contributor we have met in person.
Admins are required to have 2FA enabled on their GitHub accounts.
To allocate a new admin the ‘Software Development Manager’ will find the membership record in GitHub and update the permissions.
Revoking Permissions
Access will be revoked for a person:
No longer meeting the above requirements.
Not contributing a change to the platform for more than 12 months.
Any action causing malicious harm to the project/code base.
Any action breaking the code of conduct towards others.
Any illegal activity
Asset Backup and disaster recovery
As this uses Git - The code base is inherently duplicated on all devices where a checkout has taken place.
The Software Engineering Manager will maintain an offsite backup that is updated after each Pull request to Master. (Andrew keeps a clone of the repo in a separate Bitbucket repo)
In the event of GitHub becoming unavailable. we will initially switch to the Bitbucket repository, If this is also unavailable we will initialise a new hosted repository from the backup.
Build Pipeline
The build pipeline is now using Github actions. It runs based on a configuration yaml in the main repo. It is free to use.