Release processes
Repositories Involved in Releases
The following repositories are involved in the release process for YMCA Website Services:
- YMCA Website Services Drupal Profile Distribution: YCloudYUSA/yusaopeny - This repository contains the core Drupal profile distribution for YMCA Website Services.
- YMCA Website Services Project:
YCloudYUSA/yusaopeny-project - This repository is used to initiate a new YMCA Website Services instance. It typically includes the
composer.json
file and installation scripts. - Continuous Integration/DevOps for YMCA Website Services: YCloudYUSA/yusaopeny-cibox-build - This repository manages the CI/CD processes for rebuilding and installing YMCA Website Services.
- CIBox Development Environment: YCloudYUSA/yusaopeny-cibox-vm - This repository contains the configuration for the CIBox development environment, which uses Virtualbox, Docker, and Vagrant.
- Docksal Development Environment: YCloudYUSA/yusaopeny-docksal - This repository provides a Docksal-based development environment using Docker and VirtualBox.
Release Management Process
The Lead Architect follows these steps when tagging a new release of YMCA Website Services:
- Update the Project Repository: Review, merge, and update the
YCloudYUSA/yusaopeny-project repository. This usually involves updating the
composer.json
file or the one-line installation script. Tag a new release in this repository. - Review and Merge Pull Requests: Review and merge all pull requests in the YCloudYUSA/yusaopeny repository that are planned for the release.
- Update the Distribution Version: Change the YMCA Website Services version in the
openy.info.yml
file located in theyusaopeny
repository. The file path isopeny.info.yml
. - Update Module Versions: If there were changes to major modules (e.g., Activity Finder, PEF), update the YMCA Website Services version in those modules as well.
- Create Changelog Release Notes: Create a draft changelog with release notes. Include a list of contributors and major issues fixed or introduced in the release.
- Regression Testing: Spin up a copy of an YMCA Website Services site and check top-priority functionality for regressions.
- Core Team Review and Approval: Send the release candidate to the Core Team for review and get their approval.
- Update Development Version: After approval, change the YMCA Website Services version in
openy.info.yml
to the next version with the-dev
suffix for developers. - Refresh Private Mirror: Refresh the YMCA Website Services private mirror on the
openy.cibox.tools
CI server. - Verify Version in Site Info: Ensure the version of YMCA Website Services is correct in the site information page (
admin/reports/status
). - Announce Release - Developers: Publish an announcement in the
#developers
YMCA Website Services Slack channel. - Announce Release - General: Publish an announcement in the
#general
YMCA Website Services Slack channel.