Skip to content

Latest commit

 

History

History
167 lines (127 loc) · 9.07 KB

CONTRIBUTING.md

File metadata and controls

167 lines (127 loc) · 9.07 KB

Introduction

Welcome! (i mirëpritur; welkom; bienvenue; benvenuto; witamy; bienvenidos; 欢迎 أهلا بك; ようこそ; 환영; chào mừng; soo dhawow; karibu; Taŋyáŋ yahípi; Ẹ káàbọ̀; ndewo; barka da zuwa) and thank you for checking us out!

Following these guidelines helps to communicate that you respect the time of the people managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.

CHAOSS Slack Bot is an open source project and we love to receive contributions from our community — you! There are many ways to contribute, from improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into CHAOSS Slack Bot itself.

We follow the standard Git workflow of fork -> change -> pull request -> merge -> update fork -> change ... (repeat forever). If you are new to open source, we recommend GitHub's excellent guide on "How to Contribute to Open Source". In addition, please feel free to reach out to any of the maintainers or other community members if you are struggling; we are here to help you learn!

Your First Contribution

Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub. At this point, you're ready to make your changes! Feel free to ask for help; everyone is a beginner at first. 😸

Getting Started

Opening an issue

If you're experiencing an issue with CHAOSS Slack Bot or have a question you'd like help answering, please feel free to open an issue. To help us prevent duplicates, we kindly ask that you briefly search for your problem or question in our issues before opening a new one. Please note that if you open a bug report, we cannot help you until you have provided us with all the relevant information. Respectfully, we do not have the time to try and recreate an error given with minimal or no context, so by providing this information you are helping us help you! Provide descriptions to the best of your ability, and please include screenshots and error logs if applicable.

Fixing an issue

If you would like to fix an existing issue, leave a comment on it to indicate. This is to avoid having several people unknowingly working on the same issue.

Contributing to the source code

  1. Fork this repo, and then clone it
$ git clone https://github.com/chaoss/chaoss-slack-bot.git
$ cd chaoss-slack-bot
$ git remote add upstream https://github.com/chaoss/chaoss-slack-bot.git
  1. Follow the development setup instructions

  2. Install dependencies $ npm install or $ yarn add

  3. Create a new branch

$ git checkout -b my-new-branch

  1. Make your change(s). We encourage you to write tests.

  2. Commit the change(s) with a descriptive commit message and push to your fork. PS: here's a guide for writing good commit messages. if you’re not familiar with DCO, read the guide on signing off commits before you come back to this step.

$ git add .
$ git commit -s -m "descriptive commit message"
$ git push -u origin my-new-branch
  1. Submit a pull request.

At this point, you're waiting on us. We like to at least comment on pull requests within three business days (and, typically, one business day). Once one of our maintainers has had a chance to review your PR, we will either mark it as "needs review" and provide specific feedback on your changes, or we will go ahead and complete the pull request.

Signing-off on Commits

To contribute to this project, you must agree to the Developer Certificate of Origin by the CHAOSS charter for each commit you make. The DCO is a simple statement that you, as a contributor, have the legal right to make the contribution. To signify that you agree to the DCO for contributions, you simply add a line to each of your git commit messages: Signed-off-by: Jane Smith [email protected]

This can be easily done by using the -s flag when using git commit. For example: $ git commit -s -m "my commit message w/signoff"

To ensure all your commits are signed, you have to configure git properly by editing your global .gitconfig

$ git config --global user.name "John Doe" 
$ git config --global user.email [email protected]

Any pull requests containing commits that are not signed off will not be eligible for merge until the commits have been signed off.

How to Fix a Failed DCO Check

Sometimes, you might forget to sign off your commits. We understand, but your pull request will fail the DCO check, and we will not be able to merge it. If this happens, here is how you can fix it:

  • To fix a failed DCO check, go to the pull request page and scroll down to the section that shows the successful and failed checks. It is located just above the new comment text area.
Screenshot 2023-10-10 at 1 31 32 PM
  • Click on the DCO details, and follow the instructions to fix the problem.
Screenshot 2023-10-10 at 1 33 43 PM
  • You can also follow this guide for an alternative approach.

Keeping in sync with the Chaoss Slack Bot Repository

Remember to sync your fork with the main branch regularly. To do this: Make sure to be in the root folder of the project and the branch should be master branch and type

$ git remote add upstream https://github.com/chaoss/chaoss-slack-bot.git

Now you have your upstream setup in your local machine,whenever you need to make a new branch for making changes make sure your main branch is in sync with the main repository, to do this,make sure to be in the main branch and type:

$ git pull upstream master
$ git push origin master

Contributing to the wiki

  • Fork the repo
  • Navigate to https://github.com/<YOUR_USERNAME>/chaoss-slack-bot/wiki
  • Hit Create the first page (You may get an error, that's okay)
  • Navigate to https://github.com/<YOUR_USERNAME>/chaoss-slack-bot/wiki again and you will see the wiki updated.
  • Clone the forked repo
git clone https://github.com/<YOUR_USERNAME>/chaoss-slack-bot/wiki.git
  • Add the upstream:
git remote add upstream https://github.com/chaoss/chaoss-slack-bot.wiki.git
  • Fetch the latest updates from the staging branch:
git fetch upstream staging

Keeping your fork in sync

git checkout staging
git fetch upstream staging
git merge upstream/staging
git push origin staging

Submitting changes to your fork

git checkout staging
git add .
git commit -s -m "descriptive commit message"
git push origin staging

Submitting changes to the main repository

When you're ready to submit, you need to open an issue and provide the following:

  • Link to your repository.
  • Description to the change you've done.

N/B: If you're fixing an existing issue, you don't need to open a new one. Just submit your changes there.

Community Resources

CHAOSS

Technical Resources

Git & GitHub

CHAOSS Slack Bot

Slack API & Bolt for JavaScript

Testing