-
Notifications
You must be signed in to change notification settings - Fork 8
How we work: Branching strategy
Borghild Selle edited this page Feb 7, 2024
·
15 revisions
-
Create a feature branch using
main
as the base branchgit checkout -b fer/1234
- Our feature branch naming convention is an abbreviation of the author's name / the issue number. For example fer/1234
-
Create a Pull Request
git push origin fer/1234
- Open GitHub and create a new pull request
- Team convention for title: issue title or good description #issue number
- Connect Github issue in the created PR after creation
-
Move the issue to the Technical Review column in the Kanban board
- Wait for a code review from one of the team members
- Iterate your code until it is tech-approved ✅
-
Deploy your changes to staging
- In your local environment, checkout the staging branch and pull the latest changes
git checkout staging && git pull origin staging
- Squash and Merge your feature branch to the staging branch
git merge --squash fer/1234
- Push the changes directly to staging. No pull request is required.
git push origin staging
- Go to Github and delete your feature branch.
- Other developers if experiencing errors
git fetch --all --prune
- Other developers if experiencing errors
- Deployment to the staging environment will be triggered automatically
- In your local environment, checkout the staging branch and pull the latest changes
-
Move the issue to the Acceptance Criteria column in the Kanban board (if the issue can be reviewed externally)
- Wait for external review
- If external review is APPROVED ✅
- Rebase and Merge the Pull Request to the main branch
- Deployment to pre-prod environment will be triggered automatically
- If external review is NOT APPROVED ❌
- Go back to step 3.2. (Iterate your code until it is tech-approved)
-
Move the issue to the Deploy column in the Kanban board, and add the "Ready to Deploy" label
-
Run the
deploy all websites/studios to prod
script through GitHub Actions- Create a Release log in GitHub discussions
- Post the release log link in the #envis Slack channel
-
Close issues with the label "Ready to Deploy"
- Home
- The team
- How we work
- Retrospectives
- GitHub Actions
- Satellite sites
- Redirects
- Groups / Accesses / Sites
- Migrate production data to test
- Guide to upgrading dependencies