Get started
Prerequisites
You should already have completed the OPG getting started guide. Specifically, you should have access to GitHub and have aws-vault set up.
Installing & Setting up Sirius
1 - Clone and enter the Sirius repository
git clone git@github.com:ministryofjustice/opg-sirius.git
cd opg-sirius
2 - Authenticate to the ECR registry, using the “ecr-pull” role if you’re new to OPG, or your operator role for the dev account otherwise
aws-vault exec ecr-pull -- make ecr_login
3 - Ensure you have allocated Docker with sufficient resources in its settings. We recommend 6 CPUs and 8GB of Memory.
4 - Run docker prune to make sure you have enough space (Sirius uses lots of images):
docker system prune
5 - Run Setup command within the cloned repository:
make dev-setup
6 - Install pre-commmit and install the repo’s hooks:
pre-commit install
For support please ask questions in #opg-sirius-develop.
Development Workflow
Ways of working
Supervision
We use mostly a Scrum workflow with a two-week sprint cycle. Sprint planning happens on Tuesdays, with the sprint retrospective happening on the same day (to minimise travel and make sure everyone is in the same place for these ceremonies). Once planning finishes the sprint is officially started and we track progress using this sprint board.
Daily stand-up happens at 10:00 on Teams.
Refinement usually happens on Tuesdays every week. In these sessions we look at the product backlog. Make sure you discuss and clarify the acceptance criteria in the presented stories and raise your concerns before committing to these stories in planning.
Product backlog items may be broken into multiple smaller ones; acceptance criteria may be clarified; and dependencies, investigation, and preparatory work may be identified and agreed as technical spikes.
NOTE: Stand-ups, Refinement, Planning, Retros. If you are missing invitations to these sessions please inform the Delivery Manager.
Power of Attorney Services (Vega)
We generally work in a Kanban workflow, with a long-lived board which new stories are regularly added to.
Daily stand-up happens at 9:45 on Teams.
Your Delivery Manager will ensure you have been invited to other team meetings, including retrospectives, refinement and planning.
Version Control
Sirius uses Git for version control and code is hosted on GitHub. Access to the Sirius repo should have been sorted as part of the Onboarding process but if that’s not the case please follow these steps:
- If you haven’t got one yet please create a GitHub account at https://github.com/. 2FA must be enabled.
- Then email the Service Desk with your Digital Justice account and Github info and ask to be added to the Ministry of Justice GitHub organisation with write-access to Sirius repositories.
Merging to main
The main branch in Sirius is main. To merge code to main you need to:
- Create a feature branch (prefixed with your JIRA ticket number, e.g.
SH-133-technical-guidelines). To update your branch dogit rebase mainand notgit merge. We want all feature commits grouped on top ofmainHEADcommit,git mergemesses up this. - Open a Pull Request (PR). Please do this as soon as possible.
- Get PR approval from at least one peer.
- Get a green build from Jenkins.
- Check with your team that you can merge. You may need to create a developmemnt environment so your changes can be tested.
We don’t merge on broken builds unless if it’s a fix for a broken build. “You break it, you fix it” so please keep an eye on CI after your PR is merged.