1 new commit in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/commits/2c93bedd4898/ Changeset: 2c93bedd4898 User: jmchilton Date: 2015-02-08 20:02:54+00:00 Summary: First crack at a CONTRIBUTING file for galaxy-central. Ideally this would come in through a pull request but I am trying to rush through documentation related to Galaxy development ahead of a GSOC application - by all means I would encourage comments related to this commit as well as well as direct modifications. CONTRIBUTING files are meant to encourge developers to contribute to open source projects by spelling out how to contribute and what is expected from contributions. More resources related to CONTRIBUTION files include: - http://contribute.md/ - https://github.com/blog/1184-contributing-guidelines This isn't coming at the expense of wiki documentation - I have already made dozens of enhancements to the Develop section of the wiki today and I am planning a huge walkthrough of how to contribute and learn about various aspect of the broader Galaxy community from a new developer perspective. Having this file in place though I feel is an important part of that however. Affected #: 1 file diff -r 1b09e60f84db859ae49bed71c6f3fd838af612f5 -r 2c93bedd4898c21ccaa0de413ffedcba91220bb1 CONTRIBUTING.md --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,93 @@ +# Contributing + +This document briefly describes how to contribute to the +galaxy-central core project - also checkout the video of our [2013 +Galaxy Community Conference +presentation](http://vimeo.com/channels/581875/73486255) on the +topic. For information on contributing more broadly to the Galaxy +ecosystem and a deeper discussion of some of these points - please see +the [Develop](https://wiki.galaxyproject.org/Develop/) section of the +[Galaxy Wiki](https://wiki.galaxyproject.org/). + +## Before you Begin + +If you have an idea for a feature to add or an approach for a bugfix - +it is best to communicate with Galaxy developers early. The most +common venue for this is the [Galaxy Trello +board](https://wiki.galaxyproject.org/Issues). Browse through existing +cards [here](http://bit.ly/gxytrello) and if one seems related comment +on it. If no existing cards seem appropriate, a new issue can be +opened using [this form](http://galaxyproject.org/trello). Galaxy +developers are also generally available via +[IRC](https://wiki.galaxyproject.org/GetInvolved#IRC_Channel) and on +the [development mailing list](http://dev.list.galaxyproject.org/). + +## How to Contribute + +* If you are new to Mercurial - please check out this [official + tutorial](http://mercurial.selenic.com/wiki/Tutorial) + +* Make sure you have a free [Bitbucket + account](https://bitbucket.org/account/signup/) + +* Fork the galaxy-central repository on + [Bitbucket](https://bitbucket.org/galaxy/galaxy-central/fork) to + make your changes. (Many Galaxy instances target + [galaxy-dist](https://bitbucket.org/galaxy/galaxy-dist) - but active + development happens on galaxy-central and this is where pull + requests should be made). + +* Choose the correct Mercurial branch to develop your changes against. + + * Additions to the code base should be pushed to the `default` + branch (`hg checkout default`). + + * Most bug fixes to previously release components (things in + galaxy-dist) should be pushed to the `stable` branch (`hg checkout + stable`). + + * Serious security problems should not be fixed via pull request - + please responsibly disclose these by e-mailing them (with or + without patches) to galaxy-lab@bx.psu.edu. The Galaxy core + development team will issue patches to public servers before + announcing the issue to ensure there is time to patch and + highlight these fixes widely. We will provide you credit for the + discovery when publicly disclosing the issue. + +* If your changes modify code - please ensure the resulting files + conform to Galaxy [style + guidelines](https://wiki.galaxyproject.org/Develop/BestPractices). + +* Galaxy contains hundreds of tests of different types and complexity + and running each is difficult and probably not reasonable at this + time (someday we will provide a holistic test procedure to make this + possible). For now, please just review the [running tests + documentation](https://wiki.galaxyproject.org/Admin/RunningTests) + and run any that seem relevant. Developers reviewing your pull + request will be happy to help guide you to running the most relevant + tests as part of the pull request review process and may request the + output of these tests. + +* Commit and push your changes to your Bitbucket fork. + +* Open a [pull + request](https://confluence.atlassian.com/display/BITBUCKET/Fork+a+Repo,+Compare+Code...) + with these changes. You pull request message should include: + + * A description of why the change should be made. + + * A description of implementation of the change. + + * A description of how to test the change. + +## A Quick Note about Tools + + For the most part, Galaxy tools should be published to the + [ToolShed](https://wiki.galaxyproject.org/ToolShed) and not in this + repository directly. If you are looking to supply fixes for migrated + core tools that used to exist in this repository - please checkout + the [tools-devteam](https://github.com/galaxyproject/tools-devteam) + repository on GitHub. + + More information about tool development can be found [on the + wiki](https://wiki.galaxyproject.org/Develop). Repository URL: https://bitbucket.org/galaxy/galaxy-central/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.