Skip to content
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

document automatic deployment #46

Merged
merged 4 commits into from
Mar 12, 2020
Merged

document automatic deployment #46

merged 4 commits into from
Mar 12, 2020

Conversation

lieut-data
Copy link
Member

Summary

Document the new automatic deployment process for the marketplace.

Ticket Link

https://mattermost.atlassian.net/browse/MM-18573
https://mattermost.atlassian.net/browse/MM-18574

@lieut-data lieut-data added the 2: Dev Review Requires review by a core committer label Feb 4, 2020
@lieut-data lieut-data requested a review from hanzei February 4, 2020 17:50
Copy link
Collaborator

@hanzei hanzei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for documenting this 👍

README.md Outdated

Changes merged to `production` are automatically deployed to https://api.integrations.mattermost.com.

To update production, simply create, review and merge the appropriate pull request. Often this will just be a merge from `master` to `production`, but if there are pending changes not yet ready for a production release there, it may be appropriate to just update the plugin database with a direct change to production that is later merged back to `master`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to avoid having to merge master into production all to often. I was envisioning ~one merge per month.

Why should updates to plugins.json not always to to production?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my original proposal the wording was:

Adding new releases to plugins or adding a new plugin should be submitted to production. Any other changes should go into master.

What I like about this is that it very clear, where every change should go.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

feel like once a month is slow, unless ofcourse we're pushing plugins.json more often directly to production then 👌

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tweaked the proposal here -- thoughts?

@lieut-data lieut-data requested a review from hanzei February 11, 2020 14:41
@lieut-data
Copy link
Member Author

@hanzei & @ali-farooq0, thoughts on these changes?

README.md Show resolved Hide resolved
Copy link
Contributor

@alifarooq0 alifarooq0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

Copy link
Collaborator

@hanzei hanzei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One non blocking question. Great that the process is now documented 👍


Changes merged to `production` are automatically deployed to https://api.integrations.mattermost.com.

When adding or updating the plugins database (or corresponding tooling), submit the changes directly to `production`, and then merge `production` immediately back to `master` to reduce unnecessary merge conflicts. All other changes should be committed directly to `master`. Changes pending release from `master` should be merged to `production` after qualification and in coordination with any supporting Mattermost server release.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a difference between merging production to master and cherry-picking the lastest commit from production into master?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only difference in my mind is that the former catches anything that might have been missed, forcing an earlier reconciliation. If we wanted to go down the cherry-pick route, I'd suggest we adopt the mattermost-server semantics, commit everything to master, and cherry-pick to production instead. Thoughts?

(I'll merge this regardless, and we can iterate as needed.)

@hanzei hanzei added 4: Reviews Complete All reviewers have approved the pull request and removed 2: Dev Review Requires review by a core committer labels Mar 11, 2020
@lieut-data lieut-data merged commit 2506ac3 into master Mar 12, 2020
@lieut-data lieut-data deleted the updated-deployment-docs branch March 12, 2020 14:37
hanzei added a commit that referenced this pull request Mar 24, 2020
* [MM-21749] [MM-22214] Add "Beta" and "Community" label (#37)

* Add beta and community label

* wording

* Feedback

* Make use of model.IsValid() (#44)

* Pin github.com/rakyll/statik version (#47)

* document automatic deployment (#46)

* document automatic deployment

* tweak merging language

Co-authored-by: Ben Schumacher <[email protected]>

* Add issue templates for community plugins (#45)

Add two issue templates: one for adding a new community plugin and one for updating an existing community plugin.

* [MM-23184] Omit empty labels list (#48)

Co-authored-by: Jesse Hallam <[email protected]>
lieut-data added a commit that referenced this pull request Jul 13, 2020
* [MM-21749] [MM-22214] Add "Beta" and "Community" label (#37)

* Add beta and community label

* wording

* Feedback

* Make use of model.IsValid() (#44)

* Pin github.com/rakyll/statik version (#47)

* document automatic deployment (#46)

* document automatic deployment

* tweak merging language

Co-authored-by: Ben Schumacher <[email protected]>

* Add issue templates for community plugins (#45)

Add two issue templates: one for adding a new community plugin and one for updating an existing community plugin.

* [MM-23184] Omit empty labels list (#48)

* Drop iconPaths workaround (#62)

* Use GITHUB_TOKEN env variable instead of having the user define it (#54)

* Proxy upstream support (#60)

* s/store/staticStore/

* prefer later plugins if version exactly matches

* introduce merged and proxy stores

* support --upstream

* generate on run-server

* update to go1.14

* tidy up interface/comments

* golangci-lint local-only complaints

* Update internal/store/proxy_test.go

* revert generate on run-server

* avoid merged store unless needed

Co-authored-by: Ben Schumacher <[email protected]>
Co-authored-by: mattermod <[email protected]>

* Ensure manually added plugins stay in the database (#68)

* Send Announcements for new plugins (#76)

* Limit enterprise plugins to E20 installations (#79)

* Limit enterprise plugins to E20 installations

* Apply suggestions from code review

Co-authored-by: Aaron Rothschild <[email protected]>

* Make getPlugins signature more clear

* Don't omit enterprise in json

* make generate

* Include workaround for https://mattermost.atlassian.net/browse/MM-26507

* Fix typo

* Changes as requested

* Drop else

* Move minVersionSupportingEnterpriseFlags into global scope

Co-authored-by: Aaron Rothschild <[email protected]>

* Add Enterprise label to MS Calendar

* make generate

Co-authored-by: Jesse Hallam <[email protected]>
Co-authored-by: mattermod <[email protected]>
Co-authored-by: Aaron Rothschild <[email protected]>
lieut-data added a commit that referenced this pull request Jul 13, 2020
* Merge master into production (#49)

* [MM-21749] [MM-22214] Add "Beta" and "Community" label (#37)

* Add beta and community label

* wording

* Feedback

* Make use of model.IsValid() (#44)

* Pin github.com/rakyll/statik version (#47)

* document automatic deployment (#46)

* document automatic deployment

* tweak merging language

Co-authored-by: Ben Schumacher <[email protected]>

* Add issue templates for community plugins (#45)

Add two issue templates: one for adding a new community plugin and one for updating an existing community plugin.

* [MM-23184] Omit empty labels list (#48)

Co-authored-by: Jesse Hallam <[email protected]>

* Add v0.14.0 of mattermost-plugin-github to the Marketplace (#51)

* Add v1.3.0 of mattermost-plugin-zoom to the Marketplace (#50)

* Add v1.2.0 of mattermost-plugin-custom-attributes to the Marketpl… (#53)

* Add mattermost plugin autolink v1.2.0 (#56)

* Add v1.2.0 of mattermost-plugin-autolink to the Marketplace

* Remove custom-attributes from this PR

* add the statik.go file after manually removed autolink from plugins.json and reran 'make generate'

Co-authored-by: Ben Schumacher <[email protected]>

* Add v1.3.1 of mattermost-plugin-zoom to the Marketplace (#59)

* Add mattermost plugin todo v0.2.0 (#57)

* Add v2.4.0 of mattermost-plugin-jira to the Marketplace (#66)

* Add v1.0.4 of mattermost-plugin-nps to the Marketplace (#63)

* Add v0.2.0 of mattermost-plugin-skype4business to the Marketplace (#70)

* Add v1.0.0 of mattermost-plugin-github to the Marketplace (#69)

* Add v1.2.0 of mattermost-plugin-confluence to the Marketplace (#73)

* Add mattermost plugin welcomebot v1.2.0 (#71)

* Add v1.0.0 of mattermost-plugin-mscalendar to the Marketplace (#78)

* Add v1.1.0 of mattermost-plugin-jenkins to the Marketplace (#80)

* Add v2.0.0 of mattermost-plugin-jitsi to the Marketplace (#82)

* Add Enterprise label to MS Calendar

* make generate

* Add v1.3.0 of mattermost-plugin-giphy-moussetc to the Marketplace (#85)

Co-authored-by: Jesse Hallam <[email protected]>
Co-authored-by: Jason Frerich <[email protected]>
lieut-data added a commit that referenced this pull request Jul 13, 2020
* [MM-21749] [MM-22214] Add "Beta" and "Community" label (#37)

* Add beta and community label

* wording

* Feedback

* Make use of model.IsValid() (#44)

* Pin github.com/rakyll/statik version (#47)

* document automatic deployment (#46)

* document automatic deployment

* tweak merging language

Co-authored-by: Ben Schumacher <[email protected]>

* Add issue templates for community plugins (#45)

Add two issue templates: one for adding a new community plugin and one for updating an existing community plugin.

* [MM-23184] Omit empty labels list (#48)

* Drop iconPaths workaround (#62)

* Use GITHUB_TOKEN env variable instead of having the user define it (#54)

* Proxy upstream support (#60)

* s/store/staticStore/

* prefer later plugins if version exactly matches

* introduce merged and proxy stores

* support --upstream

* generate on run-server

* update to go1.14

* tidy up interface/comments

* golangci-lint local-only complaints

* Update internal/store/proxy_test.go

* revert generate on run-server

* avoid merged store unless needed

Co-authored-by: Ben Schumacher <[email protected]>
Co-authored-by: mattermod <[email protected]>

* Ensure manually added plugins stay in the database (#68)

* Send Announcements for new plugins (#76)

* Limit enterprise plugins to E20 installations (#79)

* Limit enterprise plugins to E20 installations

* Apply suggestions from code review

Co-authored-by: Aaron Rothschild <[email protected]>

* Make getPlugins signature more clear

* Don't omit enterprise in json

* make generate

* Include workaround for https://mattermost.atlassian.net/browse/MM-26507

* Fix typo

* Changes as requested

* Drop else

* Move minVersionSupportingEnterpriseFlags into global scope

Co-authored-by: Aaron Rothschild <[email protected]>

* Merge production into master (#88)

* Merge master into production (#49)

* [MM-21749] [MM-22214] Add "Beta" and "Community" label (#37)

* Add beta and community label

* wording

* Feedback

* Make use of model.IsValid() (#44)

* Pin github.com/rakyll/statik version (#47)

* document automatic deployment (#46)

* document automatic deployment

* tweak merging language

Co-authored-by: Ben Schumacher <[email protected]>

* Add issue templates for community plugins (#45)

Add two issue templates: one for adding a new community plugin and one for updating an existing community plugin.

* [MM-23184] Omit empty labels list (#48)

Co-authored-by: Jesse Hallam <[email protected]>

* Add v0.14.0 of mattermost-plugin-github to the Marketplace (#51)

* Add v1.3.0 of mattermost-plugin-zoom to the Marketplace (#50)

* Add v1.2.0 of mattermost-plugin-custom-attributes to the Marketpl… (#53)

* Add mattermost plugin autolink v1.2.0 (#56)

* Add v1.2.0 of mattermost-plugin-autolink to the Marketplace

* Remove custom-attributes from this PR

* add the statik.go file after manually removed autolink from plugins.json and reran 'make generate'

Co-authored-by: Ben Schumacher <[email protected]>

* Add v1.3.1 of mattermost-plugin-zoom to the Marketplace (#59)

* Add mattermost plugin todo v0.2.0 (#57)

* Add v2.4.0 of mattermost-plugin-jira to the Marketplace (#66)

* Add v1.0.4 of mattermost-plugin-nps to the Marketplace (#63)

* Add v0.2.0 of mattermost-plugin-skype4business to the Marketplace (#70)

* Add v1.0.0 of mattermost-plugin-github to the Marketplace (#69)

* Add v1.2.0 of mattermost-plugin-confluence to the Marketplace (#73)

* Add mattermost plugin welcomebot v1.2.0 (#71)

* Add v1.0.0 of mattermost-plugin-mscalendar to the Marketplace (#78)

* Add v1.1.0 of mattermost-plugin-jenkins to the Marketplace (#80)

* Add v2.0.0 of mattermost-plugin-jitsi to the Marketplace (#82)

* Add Enterprise label to MS Calendar

* make generate

* Add v1.3.0 of mattermost-plugin-giphy-moussetc to the Marketplace (#85)

Co-authored-by: Jesse Hallam <[email protected]>
Co-authored-by: Jason Frerich <[email protected]>

* s/sls/serverless

Co-authored-by: Ben Schumacher <[email protected]>
Co-authored-by: mattermod <[email protected]>
Co-authored-by: Aaron Rothschild <[email protected]>
Co-authored-by: Jason Frerich <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4: Reviews Complete All reviewers have approved the pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants