-
Notifications
You must be signed in to change notification settings - Fork 171
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci(release_workspace): add additional checks and document workflow
- Introduced logic to verify the branch name is valid for the workspace - Added handling for missing GitHub events in release checks - Introduced logic to set npm publish tag (latest or maintenance) - Added initial plugin maintainer guide for patching older release lines Signed-off-by: Beth Griggs <[email protected]>
- Loading branch information
1 parent
ec55344
commit dc772bd
Showing
2 changed files
with
57 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Plugin Maintainer Guide | ||
|
||
## Table of Contents | ||
|
||
- [Plugin Maintainer Guide](#plugin-maintainer-guide) | ||
- [Table of Contents](#table-of-contents) | ||
- [Maintaining and patching an older release line](#maintaining-and-patching-an-older-release-line) | ||
- [Patching an older release](#patching-an-older-release) | ||
|
||
## Maintaining and patching an older release line | ||
|
||
It may be necessary to patch a prior release line of a plugin when users depend on an older, but stable version and while a newer, incompatible, major version of the plugin exists. Typically for these older releases, only major bugs and security issues will need to be remediated. Not every plugin will need this workflow. | ||
|
||
This guide will describe the steps needed to release on an older version. | ||
|
||
### Patching an older release | ||
|
||
When patching an older release, follow the steps below to ensure the correct workflow is applied: | ||
|
||
1. Request a `workspace/${workspace}` branch: | ||
- Ensure a branch with the name `workspace/${workspace}` exists and has appropriate branch protections in place. This branch will be used to handle patch releases. | ||
- The `${workspace}` should correspond to the specific plugin or component you are patching. | ||
|
||
2. Reset the `workspace` branch: | ||
- Reset the `workspace/${workspace}` branch to the version of the plugin you need to patch. | ||
- You can use the autogenerated tags from previous releases to pinpoint the specific point in history to apply the patch. | ||
|
||
3. Apply your commits: | ||
- Apply the necessary patch fixes or security updates. | ||
- Manually bump the `package.json` version to reflect the new patch version (e.g., from `1.2.3` to `1.2.4`). | ||
|
||
4. Run the release workflow: | ||
- Navigate to the GitHub Actions tab in your repository and manually trigger the release workflow. | ||
- When prompted, specify your `workspace` (which will automatically infer the `workspace/${workspace}` branch based on the naming convention). | ||
- Select the option `force release with no changesets`. | ||
- The workflow will now run, building and releasing the patched version. |