How we release OpenY distribution from code perspective

Repos involved in releases

  1. Open Y Drupal Profile Distribution ymcatwincities/openy
  2. Open Y Project for initiating an Open Y instance - ymcatwincities/openy-project
  3. Continuous Integration/DevOps for rebuilding/installing Open Y - ymcatwincities/openy-cibox-build
  4. CIBox development environment (Virtualbox, Docker, Vagrant) ymcatwincities/openy-cibox-vm
  5. Docksal development environment (Docker, VirtualBox) - ymcatwincities/openy-docksal

Release Management

When tagging a new release of Open Y, the Lead Architect takes the following steps:

  1. Review/Merge/Update ymcatwincities/openy-project (usually composer.json or/and oneline script install) and tag a new release there.
  2. Review/Merge all Pull Requests in ymcatwincities/openy that were planned for release.
  3. Change the Open Y version in
  4. Change the Open Y version in major modules if there were changes to them (Activity Finder, PEF, etc).
  5. Create Changelog release notes as a draft and include Contributors as well as major issues fixed/introduced.
  6. Spin up a copy of an Open Y site and check top priority functionality for regressions.
  7. Send for review to Core Team (Craig Paulnock, Paige Kiecker), get approval.
  8. Change the Open Y version to next with -dev suffix for developers in
  9. Refresh the Open Y private mirror on the CI server.
  10. Check that the one-click install is working on a fresh DigitalOcean instance ($10: 1CPU 2Gb RAM). Ensure the version of Open Y is the proper one in site info (admin/reports/status).
  11. Publish announcement in #developers Open Y Slack channel.
  12. Publish announcement in #general Open Y Slack channel.