Skip to content

GitHub Workflow

Jason Kiesling edited this page Jun 4, 2019 · 9 revisions

MYR has two main GitHub branches. These are master and dev. Both are restricted to only allow commits via approved pull requests.

  • Master is the current source code for MYR. It has gone through testing and is fully functional. It is deployed to learnmyr.org
  • Dev is the source code that is currently undergoing final tests. It is deployed to dev.learnmyr.org. (Notes: You will have to agree to the security certificate not matching. On the UML faculty network or VPN, navigate to 10.91.77.40.)

Getting Started

  1. Visit github.com/engaging-computing/MYR. In the top right corner, click "Fork" and follow the directions.
  2. On your computer, run the following commands. (This requires git to be installed.)
git clone https://github.com/[your-username]/MYR.git  
cd MYR  
git remote add upstream https://github.com/engaging-computing/MYR.git

Submitting Code

  1. Ensure that your code is committed and pushed to your repo.
  2. Create a pull request at github.com/engaging-computing/MYR/pulls.
  3. If there is a yellow prompt to create a pull request from your fork, click that button. Otherwise, click the button that says "New pull request".
  4. Ensure that you are pulling from the correct branch on your fork into the dev branch of the engaging-computing/MYR base repository.
  5. Create a title that is informative to your changes. If you need to explain more than you can in the title, make comments in the description.
  6. Request a review from "MYR" if pulling into dev or "MYR Leadership Team" if pulling into master. (These are GitHub teams that will automatically notify everyone that should be notified.)
  7. Add the pull request to the MYR project on the sidebar.
  8. Add any appropriate labels.
  9. Add the pull request to the MYR project.
  10. Resolve any merge conflicts.
  11. Click the button at the bottom to create a pull request.

Approving a Pull Request into Dev

  1. Look at the files changed to see if there are any obvious issues.
  2. Pull the changes to your local repository to check for errors.
git remote add [username] https://github.com/[username]/MYR.git
git fetch [username]
git checkout [username]/[branch-name]
  1. Run the code and test it.
  2. Click the review changes in the top right corner.
  3. If you had issues, click request changes. If it worked, click approve.
  4. Create a comment explaining what you found and what system you tested it on.
  5. If the changes are ready to be merged into dev, click "merge changes" at the bottom of the screen.
  6. The lead developer or his/her designee will deploy the changes to dev.learnmyr.org.

Approving a Pull Request into Master

  1. The MYR team will all test the code at dev.learnmyr.org.
  2. After the team has tested the new code, they will each add a comment to the pull request stating so. This comment will include any issues that occurred, any general comments, and what OS and browser was used.
  3. After enough team members have tested the code, the lead MYR developer or his/her designee will approve and merge the code.
  4. The lead developer or his/her designee will deploy the changes to learnmyr.org.