Contributing to NHS Notify Supplier API

Feature Branches

All changes to the repo must be created on a feature branch and submitted for peer review as a Pull Request (PR) via GitHub.

Feature branch names should follow the format below:

feature/${jira-ticket-number}_${precis-of-branch-purpose}

e.g.

feature/CCM-11207_documentation

Main Branch

You are not permitted to push directly to the remote main branch in GitHub.

Changes to main when require approval(s) recorded on your PR. Required approvers are controlled by the CODEOWNERS file but in summary:

  • Infrastructure changes should be reviewed by DevOps team members
  • Workflow/action changes should be reviewed by Maintainers of the repo
  • All other changes should be review by NHS API Development team members

Merges should only take place:

  • They are intended for the next release cycle
  • All CI workflows have completed successfully

Coding Standards

Your PR must follow all agreed coding standards for the project. Terraform and CI/CD standards are listed in sections below.

GitHooks

GitHooks are available within this repo to help maintain standards and protect against e.g. secrets disclosure

GitHooks must be configured and run on commits before pushing to remote. Refer to the developer documentation for more information if required.

Testing Your Branch

You can test your branch in a dynamic environment prior to merging to main. These are created as part of the cicd-1-pull-request.yaml workflow, triggered when a PR is created or updated.