Release processes

Repos involved in releases

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

Release Management

When tagging a new release of YMCA Website Services, the Lead Architect takes the following steps:

  1. Review/Merge/Update YCloudYUSA/yusaopeny-project (usually composer.json or/and oneline script install) and tag a new release there.
  2. Review/Merge all Pull Requests in YCloudYUSA/yusaopeny that were planned for release.
  3. Change the YMCA Website Services version in openy.info.yml.
  4. Change the YMCA Website Services 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 YMCA Website Services site and check top priority functionality for regressions.
  7. Send for review to Core Team (Craig Paulnock, Paige Kiecker), get approval.
  8. Change the YMCA Website Services version to next with -dev suffix for developers in openy.info.yml.
  9. Refresh the YMCA Website Services private mirror on the openy.cibox.tools CI server.
  10. Check that the one-click install is working on a fresh DigitalOcean instance ($10: 1CPU 2Gb RAM). Ensure the version of YMCA Website Services is the proper one in site info (admin/reports/status).
  11. Publish announcement in #developers YMCA Website Services Slack channel.
  12. Publish announcement in #general YMCA Website Services Slack channel.
Last modified September 14, 2023: docs: Dev title cleanup (d4ecb84de)