Plugin Intake Checklist
Closed this issue · 1 comments
jfrerich commented
Mark as done after each step completed (completion is done in comments)
As the individual doing plugin intake, you will need the following privileges.
- Github repository admin access. You will see the
Settings
option tab if access has been granted. (next to Pull requests, Actions, Releases) - Mattermost Channel admin access. This will allow editing the header
- Mattermost sysadmin access.
- Needed for creating new public channnels
- Needed for
/jira subscribe
if applicable
Repository Setup - Settings
[x] Options (Make sure the following are the only selected items)
- Features:
- Wikis
- Restrict editing to users in teams with push access only
- Issues
- Projects
- Data services
- Security alerts
- Merge Button:
- Allow squash merging
- Automatically delete head branches
[x] Setup GitHub 1st Project
Projects
>New Project
- Board Name: v1.0
- Description: First shippable version, to be submitted to the plugin marketplace.
- Add Columns: Use https://github.com/mattermost/mattermost-plugin-solar-lottery/projects/1 as a template
[x] Collaborators (Manage Access)
Added the following:
- mattermost/core-build-engineers
- mattermost/core-committers
- mattermost/core-developers
- mattermost/core-pms
- mattermost/integrations
- mattermost/qa-core-team
- mattermost/tech-writers
[x] Branches
Branch protection Rules: master should already be available. Click edit next to master and verify the following defaults
- Branch name pattern:
master
- Applies to 1 branch:
master
- Applies to 1 branch:
- Protecting matching branches
- Require pull request reviews before merging: required approving reviews :2
- Dismiss stale pull request approvals when new commits are pushed
- Require status checks to pass before merging
- Require branches to be up to date before merging
- Require pull request reviews before merging: required approving reviews :2
[x] Webhooks
- Add codecov.io, create the webhook from codecove.io/gh/mattermost/mattermost-plugin-
- Settings > General > GitHub Webhook > Create new webhook
- This will add the webhook to GH. View in GH > Settings > Webhooks
- Settings > General > GitHub Webhook > Create new webhook
- CircleCI
- login into https://circleci.com/gh/mattermost > Add Projects > search for plugin repo > Set Up Project > Start Building
- copy https://github.com/mattermost/mattermost-plugin-demo/blob/master/.circleci/config.yml into local plugin repo (No edits needed)
- Submit as PR
- Title: Update CircleCi
- Description: Sync to latest https://github.com/mattermost/mattermost-plugin-demo/blob/master/.circleci/config.yml
- Add to CircleCI from circleCI (adds the webhook and deploy key)
- Mattermod
- Payload URL: https://mattermod.mattermost.com/pr_event
- Content Type:
application/json
- Secret: ?? Where to get secret?
- Which events to trigger webhook?
- Let me select individual events
Issue Comments
Issues
Pull requests
Select Active
- Let me select individual events
[x] Installed GitHub Apps
- CircleCi Checks
- Dependabot Preview
README.md
- add circleci badge
- add codecov badge
- add go report badge
If these don't exist, create Tickets for each (these are available in the Demo page)
- Add HW to Readme
- Slash commands documented
- Images added
- Installation / Configuration section added
Repository checks
Each of the following might require new commits and PRs against master.
-
go mod tidy
- version
- All tests passing
-
npm audit fix
-
npm-check -E -u
to view the changes interactively -
npm-check -E -y
to update without interactive- check in
package-lock.json
andpackage.json
- check in
- grep for original repo references in all files
Mattermost Channels Setup
-
Plugin: <plugin_name>
- setup new plugin channel- Add plugin author and some other integration team members
- Github subscribe
/github subscribe mattermost/mattermost-plugin-solar-lottery pulls,issues,creates
- (n/a) Jira subscribe - need an epic!!! (or what? Really need components?)
- Header: [HW] | [repo] | [circle-ci] | PM: | Dev:
Actual text for header - replace all instances of <plugin_repo>, <pm-name>, <dev-name>
[GitHub](https://github.com/mattermost/<plugin_repo>) | [Help Wanted](https://github.com/mattermost/<plugin_repo>/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22up+for+grabs%22+label%3A%22help+wanted%22+sort%3Aupdated-desc) | [![CircleCI](https://circleci.com/gh/mattermost/<plugin-repo-namme>.svg?style=shield)](https://circleci.com/gh/mattermost/<plugin-repo) | PM: @<pm-name> | Dev: @<dev-name>
- GitHub subscribe in ~Plugin Heartbeat channel
/github subscribe mattermost/mattermost-plugin-solar-lottery pulls
The rest
- Labels: add to mapping.go#L7 and cd labels && go run . -default -v
- Add to tracking spreadsheet, https://docs.google.com/spreadsheets/d/1jPuvFdeaWJy_-faP-p71_x66OC4x6Udp8vrasrJzbEo/edit#gid=1550130552
- Add to pinned issue links in mattermost/mattermost#12656
- add repo to
Good First Issue
link (listed alphabetically) - add repo to
Up For Grabs - Golang
link (listed alphabetically) - add repo to
All Plugin Up For Grabs
link (listed alphabetically) - add repo full list of repositories
- add repo to
- Setup Jira Epic plugin <plugin_name>
Mattermost Team: Integrations
There is no Jira Epic for this plugin. All issues will be handled in GitHub
jfrerich commented
Plugin Intake checklist has been completed.