...
- Multiple agile teams develop OpenLMIS, in addition to receiving Pull Request contributions
- Microservices architecture provides separation between the numerous components
- Automated test coverage prevents regressions and gives the team the safety net to release often
- Continuous Integration and Deployment (CI/CD) ensures developers get immediate feedback and QA activities can catch issues quickly
- Code is peer reviewed during Jira ticket workflow and in Pull Requests
- Documentation and CHANGELOGs are kept up-to-date along with the corresponding code and demo data
Do Release Preparation
- Verify the pre-requisites, including all automated tests are passing and all CHANGELOGs are up-to-date; see Release Prerequisites
- Conduct a manual regression test cycle 1-2 weeks before the release, if possible
- Write draft Release Notes including sections on 'Compatibility', 'Changes to Existing Functionality', and 'New Features'
- Shift agile teams' workloads to bugs and clean-up, rather than committing large new features or breaking changes ("slow down" 1-2 weeks before release)
- Schedule for releases is currently monthly patch releases and quarterly minor releases (as of 3.2.0, this has been the schedule since 3.0.0)
...