[feat] Implementing new release process (#200)

Streamlining the release process for mattermost-plugins by integrating release and signing pipelines under the delivery platform.

This update automates signing and releasing by simply pushing a semver tag(e.g: v0.0.1) or by using the newly introduced Makefile targets.
```
make patch
make minor
make major
```

For Release Candidades(RC):
```
make patch-rc
make minor-rc
make major-rc
```

Signed-off-by: Akis Maziotis <akis.maziotis@mattermost.com>
This commit is contained in:
Akis Maziotis 2024-06-06 11:27:19 +03:00 committed by GitHub
parent 4e15acf566
commit bd0e6f287b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 134 additions and 18 deletions

View file

@ -119,6 +119,46 @@ The version of a plugin is determined at compile time, automatically populating
To disable this behaviour, manually populate and maintain the `version` field.
## How to Release
To trigger a release, follow these steps:
1. **For Patch Release:** Run the following command:
```
make patch
```
This will release a patch change.
2. **For Minor Release:** Run the following command:
```
make minor
```
This will release a minor change.
3. **For Major Release:** Run the following command:
```
make major
```
This will release a major change.
4. **For Patch Release Candidate (RC):** Run the following command:
```
make patch-rc
```
This will release a patch release candidate.
5. **For Minor Release Candidate (RC):** Run the following command:
```
make minor-rc
```
This will release a minor release candidate.
6. **For Major Release Candidate (RC):** Run the following command:
```
make major-rc
```
This will release a major release candidate.
## Q&A
### How do I make a server-only or web app-only plugin?