Pull Requests & Deployment - Syntax-Meridian/TesseractCMS GitHub Wiki

Pull Request Expectations:

Pull requests (PRs) are an essential part of collaborative development. When creating a PR, ensure you meet the following expectations:

  1. Use the PR Template: Always fill out the provided PR template. It ensures that reviewers have all the necessary information to understand and evaluate your changes.
  2. Descriptive Titles: PR titles should briefly summarize the change, enabling a quick understanding of the PR's purpose.
  3. Engage in Discussions: If your PR receives feedback, engage constructively. Address the feedback where necessary, and if you disagree, provide clear reasons.
  4. Stay Updated: Regularly merge the latest changes from the main branch into your PR to avoid merge conflicts and ensure smooth integration.
  5. Timely Responses: Respond to feedback in a timely manner. If you'll be unavailable for a while, inform the reviewers.
  6. Final Checks: Before marking your PR as 'ready for review', ensure you've tested your changes, updated documentation, and checked for potential issues.

Merge & Deployment Expectations:

Merging should be performed by the developer opening the PR. (Some exceptions may apply in the case of schedule conflicts.) Merging will trigger a deployment. The following are the expectations for the merge and resulting deployment:

  1. Testing: Before merge, ensure the changes have been thoroughly tested in your local environment.
  2. Documentation: Update deployment documentation if your changes introduce new steps or considerations.
  3. Backup: Always backup current data and configurations before deploying new changes.
  4. Announcements: If the deployment requires downtime or may affect users, communicate this in advance.
  5. Monitoring: After deployment, monitor the application and infrastructure for any anomalies or issues.
  6. Rollback Strategy: Always have a rollback strategy in place. If something goes wrong, you should be able to revert to the previous stable version quickly.
  7. Feedback Loop: After deployment, gather feedback. This could be from automated monitoring tools, user feedback, or team observations. It helps catch issues early and informs future deployment strategies.