Development Process
These are the preliminary development processes for developers and QAs. These processes are subject to continuous changes so it's advice to frequently review it for changes.
Developer Development Process
- Pick up ticket (3 amigos; optional)
- Define branch.
Format: e.g. feat/CARE-XXX/focus bug/CARE-XXX/focus
- Run tests to make sure you know everything is working before you start.
- Implement the necessary changes
- Content wise via Contentful development environment
- Content type wise via migration scripts. File name format:
00XX-description.cjs
- Html changes via .cshtml
- Css class attachment to content types via .cshtml or ContentRenderer classes
- Implement playwright tests and fix broken tests
- Commit changes
- Message format:
CARE-XXX {message} {details}
- Message format:
- Create pull request
- Update e2e contentful environment
- Use
Deploy - Contentful Migrations
to run the new script in the e2e environment, use your branch as the source code - Use
Deploy - Environment
to deploy the code changes made outside of the migration scripts - Manually update content added in development to e2e
- Use
- Rerun the checks in pull request, if failed due content differences in e2e environment
- When pull request has been approved and merged, do step 8 for the test environment
- Move the ticket to the Jira
Test
column and inform Imran - Imran manual tests to see if the acceptance criteria was met.
- Once Imran has signed off.
- Update
production
contentful environment- Use
Deploy - Contentful Migrations
to run the new script in the production environment, use your branch as the source code - Use
Deploy - Environment
to deploy the code changes made outside of the migration scripts to thestaging
azure instance (staging uses published/draft pages in contentful) - Use
Deploy - Environment
to deploy the code changes made outside of the migration scripts to theproduction
azure instance (potentially; only uses published pages in contentful)
- Use
- Inform Amy Leak in the Care Leavers MS Teams group chat, that the code changes have been deployed ready for her to apply the content changes.
QA Test Suite Development Process
- Define or Pick up ticket in Jira Test column
- Subtask to fix related tests (Ideally the responsibility of the Devs).
- Define general test fix, load testing, etc. ticket(s).
- Move Jira ticket the 'In Progress'.
- Define branch. Format:
- task/CARE-XXX/{focus} (for test fixes, modifications, etc.)
- test/CARE-XXX/{focus} (for running complex tests, e.g. performance, load, security, etc. testing)
- Implement the necessary changes
- Add test modifications
- Potentially, update Contentful development, e2e and/or test environments
- Commit changes
- Message format: "CARE-XXX {message}"
- Create pull request
- Move Jira ticket the 'Ready for Review (Tech)'.
- Pull request approved and merged, by at least a Dev, QA or Technical Architecture
- Mark ticket as 'Done'.site. Pass or fail. (In development)