-
Notifications
You must be signed in to change notification settings - Fork 11
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
[feat] Implementing new release process #689
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -107,3 +107,43 @@ export MM_SERVICESETTINGS_SITEURL=http://localhost:8065 | |
export MM_ADMIN_TOKEN=j44acwd8obn78cdcx7koid4jkr | ||
make deploy | ||
``` | ||
|
||
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. nit: This isn't "useful" for most users landing on 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. Thank you @lieut-data, I personally prefer having all crucial project-related data concise in the README file. Moreover, the actual templating for new plugins includes release instructions. We iterate over those here: I don't have a strong opinion on this since it is mostly out of the scope of our work. Our main goal is to reach a consensus on pushing tags for release, thereby streamlining our process. Let me know if you would like the documentation-related changes to be dropped. |
||
## 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That this is automated is super cool, but I'm wondering if we can avoid patching all our
Makefiles
everywhere like this? (It's one more thing to maintain across N repos whenever something changes.)Instead, might we adopt the pattern used for the
Tag Public Module
action on the monorepo? https://github.com/mattermost/mattermost/actions/workflows/tag-public-module.yamlPresumably this can be more centrally managed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My personal preference is to use the console over the GUI whenever possible, and I recommend this approach here. This is also the practice our team follows.
Similar to my previous comment, I don't have a strong opinion on this since pushing a tag in a repository is mostly outside the scope of our work. Our main goal is to reach a consensus on pushing tags for release, thereby streamlining our process.
We don't want to strictly control how this is done. It can be done via the GUI, manually from the console, automated and calculated via a Makefile target, or by whatever method is most convenient for a team.
Makefile Patching is allready performed :) :
pr-mattermost-plugin-starter-template-200
pr-mattermost-plugin-ai-197
pr-mattermost-plugin-apps-487
pr-mattermost-plugin-bulk-invite-34
pr-mattermost-plugin-calls-765
pr-mattermost-plugin-cloud-157
pr-mattermost-plugin-community-32
pr-mattermost-plugin-demo-177
pr-mattermost-plugin-github-786
pr-mattermost-plugin-gitlab-497
pr-mattermost-plugin-google-calendar-80
pr-mattermost-plugin-jira-1083
pr-mattermost-plugin-metrics-28
pr-mattermost-plugin-msteams-689
pr-mattermost-plugin-nps-112
pr-mattermost-plugin-playbooks-1913
pr-mattermost-plugin-servicenow-195
pr-mattermost-plugin-zoom-379
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @phoinixgrr! I'll reply over at https://community.mattermost.com/core/pl/ejz7p7zizbg4dpa73u8i9kdoie so centralize the conversation and loop in @mickmister and others for feedback. Appreciate the context and support in achieving all this!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lieut-data Any objections merging this as is ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @lieut-data and @phoinixgrr for bringing the discussion more widely in channel, and glad to read you reached a consensus to move forward with the approach taken here by Akis.