|
2 | 2 |
|
3 | 3 | ## Development work |
4 | 4 |
|
5 | | -* As a first step, GPG key setup is required in order to contribute: |
| 5 | +We currently have two different processes in place as we are transitioning between them. |
| 6 | + |
| 7 | +The below is true for both approaches, see branching strategy below for the differences. |
| 8 | + |
| 9 | +- As a first step, GPG key setup is required in order to contribute: |
6 | 10 | instructions on setup can be found in the [GPG Guide](https://github.com/ONSdigital/dp-operations/blob/main/guides/gpg.md) |
7 | | -* We use [git-flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) - |
8 | | - create a feature or fix branch from `develop`, e.g. `feature/<new-feature>`, `fix/<new-fix>`. Alternatively, create a hotfix branch from master e.g. `hot-fix/<new-hotfix>`. |
9 | | -* Pull requests must use the pull request template found in each repo. Each section must contain the following: |
10 | | - * 'What' - a succinct, clear summary of what the user-need is that is driving this feature change, |
11 | | - * 'How to review' - a step-by-step guide or set of guides that detail how a reviewer can test and verify the changes made |
12 | | - * 'Who can review' - a list of the most appropriate people to review the pull request, |
| 11 | +- Pull requests must use the pull request template found in each repo. Each section must contain the following: |
| 12 | + - 'What' - a succinct, clear summary of what the user-need is that is driving this feature change, |
| 13 | + - 'How to review' - a step-by-step guide or set of guides that detail how a reviewer can test and verify the changes made |
| 14 | + - 'Who can review' - a list of the most appropriate people to review the pull request, |
13 | 15 | e.g. if on a frontend application, a member of the frontend team should review; likewise for backend and platform. |
14 | 16 | If the changes are critical or are likely to have severe side-effects then the Tech Lead should review. |
15 | | -* Ensure your branch contains logical atomic commits before sending a pull request - follow the [GDS Way styleguide](https://gds-way.digital.cabinet-office.gov.uk/standards/source-code/working-with-git.html#commits) |
16 | | -* You may rebase your branch after feedback if it's to include relevant updates from the `develop` branch. We prefer a rebase here to a merge commit as we |
17 | | - prefer a clean and straight history on the `develop` branch, with discrete merge commits for features |
18 | | -* It is advised to squash commits before pushing to a remote repository |
| 17 | +- Ensure your branch contains logical atomic commits before sending a pull request - follow the [GDS Way styleguide](https://gds-way.digital.cabinet-office.gov.uk/standards/source-code/working-with-git.html#commits) |
| 18 | +- You may rebase your branch after feedback if it's to include relevant updates from the upstream branch. We prefer a rebase here to a merge commit as we |
| 19 | + prefer a clean and straight history on protected branches, with discrete merge commits for features |
| 20 | +- It is advised to squash commits before pushing to a remote repository |
19 | 21 |
|
20 | | ----- |
| 22 | +### New branching strategy |
21 | 23 |
|
22 | | -## Releasing |
| 24 | +We use trunk based development - create a feature branch from `main`, e.g. `feature/new-feature` |
23 | 25 |
|
24 | | -* For instructions on how to release work, read the [Releases guidelines](RELEASES.md) |
| 26 | +### Old branching strategy |
| 27 | + |
| 28 | +We use [git-flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) - create a feature or fix branch from `develop`, e.g. `feature/<new-feature>`, `fix/<new-fix>`. Alternatively, create a hotfix branch from master e.g. `hot-fix/<new-hotfix>`. |
| 29 | + |
| 30 | +## Releasing |
25 | 31 |
|
26 | | ----- |
| 32 | +For instructions on how to release work, read the [Releases guidelines](RELEASES.md) |
27 | 33 |
|
28 | 34 | ## Access to Environments |
29 | 35 |
|
30 | 36 | ### Note: if you get a 404 error for any of the below links, then you need to be added to the `ONSdigital` organisation in GitHub |
31 | 37 |
|
32 | | -* For direct access to the environments |
33 | | - * Setup your [AWS credentials](AWS_CREDENTIALS.md) |
34 | | - * Configure your [SSH access](https://github.com/ONSdigital/dp-operations/blob/main/guides/ssh-access.md) |
35 | | - * [Ansible](https://github.com/ONSdigital/dp-ci/tree/master/ansible#prerequisites) is required for provisioning to environments |
| 38 | +- For direct access to the environments |
| 39 | + - Setup your [AWS credentials](AWS_CREDENTIALS.md) |
| 40 | + - Configure your [SSH access](https://github.com/ONSdigital/dp-operations/blob/main/guides/ssh-access.md) |
| 41 | + - [Ansible](https://github.com/ONSdigital/dp-ci/tree/master/ansible#prerequisites) is required for provisioning to environments |
0 commit comments