Development Workflows
This page outlines the standard development workflows for the UAGC Digital Experience team.
Overview
Our development workflow is designed to ensure code quality, maintain site stability, and enable efficient collaboration among team members.
Git Workflow
We follow a feature branch workflow:
- Create a feature branch from
develop - Make changes in your branch
- Submit a pull request to
develop - After review and approval, merge to
develop - Changes in
developare deployed to staging - Release branches are created from
developand merged tomain - The
mainbranch is deployed to production
Code Review Process
All code changes must go through a review process:
- Create a pull request with a clear description of changes
- Automated tests are run
- Code is reviewed by at least one other developer
- Changes are approved or feedback is provided
- After approval, changes can be merged
Testing Standards
Types of Testing
- Unit testing for individual functions
- Integration testing for component interaction
- End-to-end testing for complete user flows
- Accessibility testing for WCAG compliance
- Performance testing for Core Web Vitals
Testing Tools
- PHPUnit for PHP testing
- Jest for JavaScript testing
- Cypress for end-to-end testing
- Lighthouse for performance testing
Deployment Process
Environments
- Dev: Development and integration testing environment
- Staging: Pre-production testing and quality assurance
- Production: Live site
Deployment Steps
- Code is merged to the appropriate branch
- CI/CD pipeline runs tests
- Deployment is triggered automatically
- Post-deployment tests verify functionality
- Monitoring alerts are set up for any issues
Documentation Standards
All new features, major changes, and bug fixes should be documented:
- Code comments for complex logic
- README updates for new features
- Technical documentation in the wiki
- User documentation for end-users