-
-
Notifications
You must be signed in to change notification settings - Fork 29
[#2104] Added SemVer+CalVer versioning support for Vortex development. #2150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,6 +6,10 @@ on: | |
| - '*' | ||
| branches: | ||
| - develop | ||
| #;< VORTEX_DEV | ||
| - 1.x | ||
| - 2.x | ||
| #;> VORTEX_DEV | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,68 @@ | ||
| # Release | ||
|
|
||
| Follow the steps below to release a new version of **Vortex**: | ||
| ## Versioning Strategy | ||
|
|
||
| Vortex uses **SemVer+CalVer** format for releases: `MAJOR.MINOR.PATCH-YYYY.MM.0` | ||
|
|
||
| ### Semantic Version (MAJOR.MINOR.PATCH) | ||
|
|
||
| - **MAJOR**: Breaking changes that require migration or significant updates | ||
| - **MINOR**: New features, backward compatible | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add hyphens to compound adjectives. Per static analysis, compound adjectives modifying nouns should use hyphens. Update all occurrences of "backward compatible" to "backward-compatible" on lines 10, 37, and 42. Apply this diff: -- **MINOR**: New features, backward compatible
+- **MINOR**: New features, backward-compatible-2. **Bump MINOR** when adding functionality in a backward compatible manner:
+2. **Bump MINOR** when adding functionality in a backward-compatible manner:-3. **Bump PATCH** when making backward compatible bug fixes:
+3. **Bump PATCH** when making backward-compatible bug fixes:Also applies to: 37-37, 42-42 🧰 Tools🪛 LanguageTool[uncategorized] ~10-~10: If this is a compound adjective that modifies the following noun, use a hyphen. (EN_COMPOUND_ADJECTIVE_INTERNAL) 🤖 Prompt for AI Agents |
||
| - **PATCH**: Bug fixes, backward compatible | ||
|
|
||
| ### Calendar Version (`YYYY.MM.0`) | ||
|
|
||
| - Reflects the release date | ||
| - Helps track release timeline | ||
| - Always ends with `.0` | ||
| - `YY` - Short year - `6`, `16`, `106` | ||
| - `MM` - Short month - `1`, `2` ... `11`, `12` | ||
|
AlexSkrypnyk marked this conversation as resolved.
|
||
|
|
||
| ### Version Examples | ||
|
|
||
| - `1.0.0-2025.11.0` - First major release, November 2025 | ||
| - `1.1.0-2025.12.0` - New features added, December 2025 | ||
| - `1.1.1-2025.12.0` - Bug fix release, same month | ||
| - `2.0.0-2026.1.0` - Breaking changes, January 2026 | ||
|
|
||
| ### Version Numbering Guidelines | ||
|
|
||
| When creating a new release, determine the version based on the changes: | ||
|
|
||
| 1. **Bump MAJOR** when making incompatible breaking changes: | ||
| - Removing features or configuration options | ||
| - Changing default behavior that breaks existing workflows | ||
| - Updating to new major versions of core dependencies (e.g., Drupal 11) | ||
|
|
||
| 2. **Bump MINOR** when adding functionality in a backward compatible manner: | ||
| - Adding new optional features | ||
| - Adding new scripts or commands | ||
| - Enhancing existing features without breaking changes | ||
|
|
||
| 3. **Bump PATCH** when making backward compatible bug fixes: | ||
| - Fixing bugs or errors | ||
| - Security patches | ||
| - Documentation updates | ||
| - Minor improvements that don't change functionality | ||
|
|
||
| 4. **Set CalVer** to the release date in `YYYY.MM.0` format: | ||
| - Always use the year and month of the release | ||
| - Always end with `.0` | ||
|
|
||
| ### Branch Strategy | ||
|
|
||
| - `1.x` - Current stable release branch | ||
| - `2.x` - Development branch for 2.x releases (future) | ||
|
|
||
| :::note | ||
| Vortex uses **GitHub Flow** with version branches (`1.x`, `2.x`) instead of GitFlow. | ||
| The `develop` branch is deprecated for Vortex development. | ||
| Consumer projects created from Vortex continue to use GitFlow with `develop`. | ||
| ::: | ||
|
|
||
| ## Release Process | ||
|
|
||
| Follow the steps below to release a new version of the Vortex: | ||
|
|
||
| 1. Run renovate bot locally to update all dependencies outside of the schedule: | ||
| ``` | ||
|
|
@@ -13,6 +75,6 @@ renovate --schedule= --force-cli=true drevops/vortex | |
| 6. Increment minor version of all packages in `composer.json`. Run `composer update -W && composer bump`. | ||
| 7. Update minor version of dependencies in theme's `package.json`. | ||
| 8. Increment the cache version in `.circleci/config.yml` and `.github/workflows/build-test-deploy.yml`. | ||
| 9. Update documentation with `cd .vortex && ahoy update-docs`. | ||
| 9. Updated documentation with `cd .vortex && ahoy update-docs`. | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| 10. Update installer video with `cd .vortex && ahoy update-installer-video`. | ||
| 11. Create new release notes using [release template](./release_template.md). | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -36,14 +36,14 @@ When code is deployed, Vortex automatically: | |
| 3. **Sends notifications** - Notifies configured channels about the deployment | ||
|
|
||
| This is implemented using [Acquia Cloud Hooks](https://docs.acquia.com/cloud-platform/develop/api/cloud-hooks/) - | ||
| pre-configured scripts in the [`hooks/`](https://github.com/drevops/vortex/tree/develop/hooks) | ||
| pre-configured scripts in the [`hooks/`](https://github.com/drevops/vortex/tree/1.x/hooks) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Check if 1.x branch exists locally or remotely
git branch -a 2>/dev/null | grep -E '1\.x|origin/1\.x'Repository: drevops/vortex Length of output: 40 Critical: Documentation links reference non-existent The three documentation links at lines 39, 46, and 60 point to the Before merging, either:
Also applies to: 46-46, 60-60 🤖 Prompt for AI Agents |
||
| directory that trigger on code deployments, code updates, and database copy | ||
| operations. | ||
|
|
||
| ### Environment detection | ||
|
|
||
| Vortex automatically detects when running on Acquia and loads appropriate | ||
| settings from [`web/sites/default/includes/providers/settings.acquia.php`](https://github.com/drevops/vortex/blob/develop/web/sites/default/includes/providers/settings.acquia.php). | ||
| settings from [`web/sites/default/includes/providers/settings.acquia.php`](https://github.com/drevops/vortex/blob/1.x/web/sites/default/includes/providers/settings.acquia.php). | ||
| This includes Acquia-specific configurations for caching, file paths, and | ||
| environment variables. | ||
|
|
||
|
|
@@ -57,7 +57,7 @@ Before you begin, ensure you have: | |
|
|
||
| ### 1. Configure environment variables | ||
|
|
||
| Add the following variables to your [`.env`](https://github.com/drevops/vortex/blob/develop/.env) | ||
| Add the following variables to your [`.env`](https://github.com/drevops/vortex/blob/1.x/.env) | ||
| file: | ||
|
|
||
| | Variable | Description | | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.