-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the awesome-tool wiki! This guide will show how to onboard new TSE Repositories with our monday.com tool. Awesome-Tool Documentation can also be found in this Google Doc (need to be in TSE Organization to view).
- Assume that all branches will be formatted as:
<feature/staging/hotfix/...>/[username]/[description]
where[description] = [Monday Item Id]-three-to-four-word-phrase
. ex.feature/dmhacker/845571105-deploy-tool
- Assume that GitHub Teams under TritonSE are created.
- Assume that GitHub repos for each project are created.
- Assume that monday.com boards are set up for every team.
- Assume that Slack channels are set up for every team.
We will need to create CODEOWNERS, Pull Request template, set up Branch Protection, set up Slack Integration, and teach Developers how to fill out PRs.
Steps:
- Create a .github folder in root
- In ~/.github/, create a file named CODEOWNERS
- Inside CODEOWNERS, include the following lines and customize the text in curly braces.
# This requests a review from the PM
* @{PM username}
# This requests a review from the team
* @TritonSE/{team name}
PULL REQUEST TEMPLATE DOCUMENTATION
Steps:
- Create a .github folder in root if it is not there already
- In ~/.github/, create a file named pull_request_template.md
- Inside pull_request_template.md, include the following lines and customize the text in curly braces.
### Administrative Info
Monday Board ID: {Board ID here}
Make sure your branch name conforms to: `<feature/staging/hotfix/...>/[username]/[Monday Item ID]-[3-4 word description separated by dashes]`. Otherwise, please rename your branch and create a new PR.
### Changes
What changes did you make?
- TODO
### Testing
How did you confirm your changes worked?
- TODO
### Confirmation of Change
Upload a screenshot, if possible. Otherwise, please provide instructions on how to see the change.
| [TODO Screenshot Title] |
| --- |
| [TODO Screenshot Link] |
- For the Monday Board ID field, paste your project’s board ID from monday.com. You can find this in the url when on your board’s page. It should be after the “boards/”. For example, the Monday Board ID for awesome-tool is
785685546
fromhttps://triton-software-engineering.monday.com/boards/785685546/
There are a few protection rules to set up on each team’s repository.
Steps:
- Create a PR with literally anything on your desired repository. Example: “Update README”. We need this so that Branch Protection picks up the status check for the repository.
- Navigate to Settings -> Branches.
- To the right of Branch protection rules, click the “Add rule” button.
- We are only interested in protecting the main/master branch.
- Set the branch name pattern to main or master, whichever one is the default branch.
- Select “Require pull request reviews before merging” to checked.
- Set “Required approving reviews” to 2. We will require the PM and another team member to approve PRs.
- Select “Require review from Code Owners” to checked.
- Select “Require status checks to pass before merging” to checked.
- Select “Require branches to be up to date before merging” to checked.
- Select the “Awesome Tool” as a required status check.
- Select “Include administrators” to checked.
Right now, we only set up a Slack notification if something enters Code Review.
Steps:
- Go to the team’s monday.com board.
- Click the “Integrate” Button.
- Go to the Integrations Center and select Slack.
- Add the “When a status changes to something, notify in channel” integration.
- Fill out the integration.
- For the Column, select “Status”.
- For the Status, select “Code Review”.
- For channel, select the corresponding team Slack channel.
- For notify, find out the PM’s Slack ID. To find that, click on the the PM’s name in Slack, click “View full profile”, click “More”, then click “Copy member ID”. Then, fill out the the notify section with the following lines and replace the PMID with the Slack ID you just found, and update the GitHub url to the correct link:
Hey <!channel>! {item.person} has put out a PR. <@PMID> and another team member needs to review this! Please visit https://github.com/TritonSE/team-repo/pulls to see the pull request. Thanks!
- Click “Add To Board”.
All you need to do now is to tell Developers to name their branches in the appropriate convention: <feature/staging/hotfix/...>/[username]/[Monday Item ID]-[3-4 word description separated by dashes]
To find Monday Item ID:
- go to your monday board.
- Look at the Item ID column.
- Click on the grid containing the ID. it will automatically copy to your clipboard!