Skip to content

Guide to Contribution

Ajknight121 edited this page Aug 22, 2023 · 1 revision

Contribution Guide

Rules

Not following the following rules will cause your PR to be denied

  • You must be a member of ACM@UIC
  • All pull requests must be reviewed and approved before they can be merged
  • All commits must be made from a unique branch name! (ex. do not name your branch with your name/do not reuse a branch unless you are committing another change to the same branch, use names such as fixed-documentation-typo, etc)

Picking up an issue

Picking up an issue should be your first step to contributing!

  • Review each issue. The difficulty estimate is listed on the right side under project details estimate
  • Once you have decided on an issue, assign yourself by clicking "assign to me" Assignee

Notes:

  • You look at the DoD or "Definition of Done" for each issue to see what actually needs to be done.
  • DO NOT MODIFY THE PROJECT DETAILS! These will be updated automatically.

Creating an issue

You should only be creating bug, question, and help wanted issues. Other issues should be managed by the project manager.

  • Under issue click "new issue"
  • Add a descriptive title (ex. Doesn't Properly Load When Clicking X)
  • Add a descriptive description (For example say, "When I press the submit button on the homepage, the button disappears" instead of, "It don't work")
    • This should include a DoD (Definition of Done) if it a feature request
    • This should include the steps to reproduce if it is a bug
  • Assign the project to "Flourish! 2023 Event Site"
    • Do not modify any other project attributes
  • Add any relevant labels
  • Milestone and Assignee should be left alone (unless you are assigning yourself)

Contributing a change

Make sure to read the change guidelines!

Once you finish making your changes, you are ready to push your change!

Github Desktop

Making a contribution using Github Desktop

Once you make your Pull Request, you are done!

Git CLI

This assumes you have already cloned the repo and are on the default main branch, to change back to the main branch git checkout main

  • Pull all the latest changes git pull
  • Checkout a new branch git checkout -b descriptive-branch-name
  • Make your changes
  • Add all of your changes files to the commit git add . from the root of the project dir
  • Check that all of the files you want committed are in git status
  • Make your commit git commit
    • Make sure your commit message is descriptive
    • The first line is the title of the commit
    • Following lines are the description of the commit
  • Push your commit git push -u origin your-branch-name
  • The previous command will give you a link which will direct you to a page where you can submit your pull request

Change Guidelines

The guidelines must be followed and may result in your change being denied

  • Your title or description of your commit MUST include the words: closes, fixes, resolves followed by the issue # (ex. fixes #5, or resolves #7)
  • The title of your commit must be descriptive of the change
  • The description should define what changes were made even if they are repeated from the issue
  • A pull request should contain all the required changes to complete an issue
  • Every Pull Request will be blocked until it is reviewed by someone else
  • If you are the reviewer and are approving a change, you are responsible for merging the change and deleting the branch

Merge Conflicts

These will be handled on a case by case basis by the project manager. If you have a merge conflict, please reach out to the project manager

My Pull Request "Requested Changes"

If you get this, it means that your change need a little more work before it is accepted! This is fine! The person who requested the changes will specify what changes need to be made, if you have any follow up questions, reach out to the project manger! Make sure that you make the changes to the same branch and commit them. Github will automatically track that changes have been made and that it needs re-review. You should also mark the requested changes as resolved once you are done making them!

Other info

If you believe something is missing here, feel free to add it or talk to the project manager!