Skip to main content
Last updated: 21 Nov 2024

How GOV.UK uses GitHub

GOV.UK uses GitHub for version control, code deployments, authentication, CI, Dependabot and GitHub Pages. Read the “GOV.UK reliance on GitHub features doc” Google doc for more information.

You must follow these instructions when creating and configuring a new GOV.UK repository.

Our GitHub organisation

Our GitHub organisation is called alphagov. GOV.UK shares it with other teams in the Government Digital Service (GDS).

The organisation is on the Enterprise Cloud plan, which grants us access to GitHub’s enterprise support. Only people with enterprise permissions can access enterprise support (limited to enterprise owners and up to 20 additional members).

GDS GitHub Owners have superadmin access to alphagov. You need to contact them to request changes to organisation settings, or to request access to an inaccessible repository (e.g. one that was created by an ex-employee).

GOV.UK teams in Github

There are several GOV.UK GitHub teams within alphagov, including:

Getting access to GitHub

If your role requires access to Github, you’ll need to be added to the organisation and the relevant team(s) through Terraform, in govuk-user-reviewer - not manually added through the GitHub UI itself, as this breaks the Terraform setup. Note that you will have to accept the invite sent via email before you’re added to the organisation.

  • If you’re an engineer or contractor, ask your tech lead to add you by following the instructions in govuk-user-reviewer.
  • If you don’t have a tech lead, ask someone in Senior Tech to add you.
  • If you’re a content designer, ask for GitHub access via Zendesk (see example ticket). Make sure you include the govuk_platform_support tag.

In these last two cases, you must state:

  • your role
  • which team you’re in
  • why you need access
  • your GitHub username
  • which GitHub team(s) you should join (see list)

Removing access to GitHub

Users are removed from the GitHub organisation when their entry in govuk-user-reviewer is deleted.