Permalink
Switch branches/tags
Find file
Fetching contributors…
Cannot retrieve contributors at this time
38 lines (31 sloc) 3.37 KB

Contributing

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

In the spirit of free software, everyone is encouraged to help improve this project – and we can assure you: there are a lot of things you can help us with. You can contribute by:

  • trying out master.hacken.in and provide us with feedback
  • reporting bugs
  • suggesting new features
  • writing or editing documentation
  • writing specifications
  • writing code (no patch is too small: fix typos, add comments, write tests, clean up inconsistent whitespace)
  • refactoring code
  • discussing issues
  • reviewing pull requests

Contributing Code aka. The Pamphlet

  • If you need help setting this project up, check out the README. If you run into problems setting up the project for development don't hesitate to open an issue.
  • Pick a Ticket from the Pick One column at waffle.io.
  • Leave a comment that you want to work on this you ticket
  • We will assign it to you and assist if you have any questions
  • Start hacking
  • Open a pull-request and work on a feature branch. During the work on your branch:
    • Code Climate🌈 compares the "code quality" and the code coverage with the master branch. Both should stay the same or improve, never get worse.
    • A CI server provides feedback for your branch. We're using Travis CIπŸ‘· to help us with this job.
  • As soon as your feature is ready to be merged, you rebase the branch onto master and clean up your commit history
    • When you're ready, create a pull request.
    • We will review your branch and signal its readiness with a :shipit: or a GIF of our choosing. If there's feedback, we will discuss it with you. Don't worry - the worst thing that could happen to you, is being overwhelmed by a bunch of animated GIFs.
    • If you're good to go, we will click the shiny green 'Merge' button, and your ticket will be closed automatically.
    • Travis CIπŸ‘· runs the test suite, if everything is green, the master branch will be deployed to master.hacken.in.
    • When we want to release it to production, we will make a pull request from the master branch to the release branch. Travis CIπŸ‘· will automatically deploy it.
  • Welcome aboard! (You get extra points for deleting your old feature branch!)

Deploying your Changes

  • All changes that got merged into our master branch will automatically be published to master.hacken.in. You can see the currently deployed revision right in the top left header bar
  • Deployments to our live site hacken.in are done via GitHub releases (which is just a fancy way to say "we're using Git tags"). To deploy the live site, just set a new tag on master via the GitHub interface. There is a simple rake task rake release:changelog will give you a list of all changes since the last Release.