Some checks failed
Tests / PHP 7.0 (push) Has been cancelled
Tests / PHP 7.4 (push) Has been cancelled
Tests / PHP 8.0 (push) Has been cancelled
Tests / Code Style (push) Has been cancelled
Sync Wiki / Sync Wiki to GitHub (push) Has been cancelled
Release / Build and Release (push) Has been cancelled
157 lines
4.2 KiB
Markdown
157 lines
4.2 KiB
Markdown
# Release Process Guide for AI Assistants
|
|
|
|
This document outlines the process for preparing and publishing new releases of the WordPress Plugin Starter Template.
|
|
|
|
## Release Workflow Overview
|
|
|
|
1. Create a version branch
|
|
2. Update version numbers in all required files
|
|
3. Build and test the plugin
|
|
4. Commit version changes
|
|
5. Create version tags
|
|
6. Push to remote repositories
|
|
7. Merge into main branch
|
|
|
|
## Detailed Steps
|
|
|
|
### 1. Create a Version Branch
|
|
|
|
Always start by creating a version branch from the latest main branch:
|
|
|
|
```bash
|
|
git checkout main
|
|
git pull origin main # Critical step - never skip this
|
|
git checkout -b v{MAJOR}.{MINOR}.{PATCH}
|
|
```
|
|
|
|
Example: `git checkout -b v1.0.0`
|
|
|
|
### 2. Update Version Numbers
|
|
|
|
Update version numbers in all required files:
|
|
|
|
1. **Main plugin file** (wp-plugin-starter-template.php):
|
|
- Update the `Version:` header
|
|
- Update the version parameter in the Plugin class instantiation
|
|
|
|
2. **readme.txt**:
|
|
- Update the `Stable tag:` value
|
|
- Add a new section to the changelog
|
|
|
|
3. **README.md**:
|
|
- Update version references
|
|
- Add new section to the changelog
|
|
|
|
4. **CHANGELOG.md**:
|
|
- Add a new version section at the top
|
|
|
|
5. **languages/wp-plugin-starter-template.pot**:
|
|
- Update the `Project-Id-Version` header
|
|
|
|
### 3. Build and Test the Plugin
|
|
|
|
Build the plugin with the new version:
|
|
|
|
```bash
|
|
./build.sh {MAJOR}.{MINOR}.{PATCH}
|
|
```
|
|
|
|
This will:
|
|
- Create a clean build in the `build/` directory
|
|
- Generate a ZIP file for distribution
|
|
- Deploy to a local WordPress installation if configured
|
|
|
|
Test the plugin thoroughly:
|
|
- Test with the latest WordPress version
|
|
- Test with the minimum supported WordPress version (5.0)
|
|
- Test with PHP 7.0+ (minimum supported version)
|
|
- Test all features and functionality
|
|
|
|
### 4. Commit Version Changes
|
|
|
|
Commit all version changes:
|
|
|
|
```bash
|
|
git add wp-plugin-starter-template.php readme.txt README.md CHANGELOG.md languages/wp-plugin-starter-template.pot
|
|
git commit -m "Version {MAJOR}.{MINOR}.{PATCH} - [brief description]"
|
|
```
|
|
|
|
### 5. Create Version Tags
|
|
|
|
Create version tags:
|
|
|
|
```bash
|
|
git tag -a v{MAJOR}.{MINOR}.{PATCH} -m "Version {MAJOR}.{MINOR}.{PATCH}"
|
|
git tag -a v{MAJOR}.{MINOR}.{PATCH}-stable -m "Stable version {MAJOR}.{MINOR}.{PATCH}"
|
|
```
|
|
|
|
The `-stable` tag is used by Git Updater to identify the stable version.
|
|
|
|
### 6. Push to Remote Repositories
|
|
|
|
Push the version branch and tags to remote repositories:
|
|
|
|
```bash
|
|
# Push to GitHub
|
|
git push github refs/heads/v{MAJOR}.{MINOR}.{PATCH}:refs/heads/v{MAJOR}.{MINOR}.{PATCH}
|
|
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH}:refs/tags/v{MAJOR}.{MINOR}.{PATCH}
|
|
git push github refs/tags/v{MAJOR}.{MINOR}.{PATCH}-stable:refs/tags/v{MAJOR}.{MINOR}.{PATCH}-stable
|
|
|
|
# Push to Gitea
|
|
git push gitea refs/heads/v{MAJOR}.{MINOR}.{PATCH}:refs/heads/v{MAJOR}.{MINOR}.{PATCH}
|
|
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH}:refs/tags/v{MAJOR}.{MINOR}.{PATCH}
|
|
git push gitea refs/tags/v{MAJOR}.{MINOR}.{PATCH}-stable:refs/tags/v{MAJOR}.{MINOR}.{PATCH}-stable
|
|
```
|
|
|
|
### 7. Merge into Main Branch
|
|
|
|
Merge the version branch into the main branch:
|
|
|
|
```bash
|
|
git checkout main
|
|
git merge v{MAJOR}.{MINOR}.{PATCH} --no-ff -m "Merge v{MAJOR}.{MINOR}.{PATCH} into main"
|
|
git push github main
|
|
git push gitea main
|
|
```
|
|
|
|
## Version Numbering Guidelines
|
|
|
|
Follow semantic versioning (MAJOR.MINOR.PATCH):
|
|
|
|
- **MAJOR**: Incompatible API changes
|
|
- **MINOR**: Add functionality in a backward-compatible manner
|
|
- **PATCH**: Backward-compatible bug fixes
|
|
|
|
Examples:
|
|
- Bug fix: 1.0.0 → 1.0.1
|
|
- New feature: 1.0.0 → 1.1.0
|
|
- Breaking change: 1.0.0 → 2.0.0
|
|
|
|
## GitHub Actions Workflow
|
|
|
|
When you push a tag, the GitHub Actions workflow will:
|
|
|
|
1. Build the plugin
|
|
2. Create a ZIP file
|
|
3. Create a GitHub release
|
|
4. Attach the ZIP file to the release
|
|
|
|
You can monitor the workflow in the "Actions" tab of the GitHub repository.
|
|
|
|
## WordPress.org Deployment (If Applicable)
|
|
|
|
If the plugin is hosted on WordPress.org:
|
|
|
|
1. Ensure the `readme.txt` file is properly formatted
|
|
2. Ensure the stable tag matches the new version
|
|
3. Use the WordPress.org SVN repository to deploy the new version
|
|
|
|
## Post-Release Tasks
|
|
|
|
After releasing a new version:
|
|
|
|
1. Update the wiki documentation if needed
|
|
2. Announce the release in relevant channels
|
|
3. Monitor for any issues or feedback
|
|
4. Start planning the next release
|