|
| 1 | +# Contributing to the Firebase Unity Quickstarts |
| 2 | + |
| 3 | +*Please do not contact Google regarding the Firebase Unity SDK through public |
| 4 | +forums until it is publicly released.* |
| 5 | + |
| 6 | +We'd love for you to contribute to our source code and to make the Firebase |
| 7 | +Unity Quickstarts project even better than they are today! Here are the |
| 8 | +guidelines |
| 9 | +we'd like you to follow: |
| 10 | + |
| 11 | + - [Code of Conduct](#coc) |
| 12 | + - [Question or Problem?](#question) |
| 13 | + - [Issues and Bugs](#issue) |
| 14 | + - [Feature Requests](#feature) |
| 15 | + - [Submission Guidelines](#submit) |
| 16 | + - [Coding Rules](#rules) |
| 17 | + - [Signing the CLA](#cla) |
| 18 | + |
| 19 | +## <a name="coc"></a> Code of Conduct |
| 20 | + |
| 21 | +As contributors and maintainers of the Firebase Unity Quickstarts project, we |
| 22 | +pledge to respect everyone who contributes by posting issues, updating |
| 23 | +documentation, submitting pull requests, providing feedback in comments, and |
| 24 | +any other activities. |
| 25 | + |
| 26 | +Communication through any of Firebase's channels (GitHub, StackOverflow, |
| 27 | +Google+, Twitter, etc.) must be constructive and never resort to personal |
| 28 | +attacks, trolling, public or private harassment, insults, or other |
| 29 | +unprofessional conduct. |
| 30 | + |
| 31 | +We promise to extend courtesy and respect to everyone involved in this project |
| 32 | +regardless of gender, gender identity, sexual orientation, disability, age, |
| 33 | +race, ethnicity, religion, or level of experience. We expect anyone |
| 34 | +contributing to the project to do the same. |
| 35 | + |
| 36 | +If any member of the community violates this code of conduct, the maintainers |
| 37 | +of the Firebase Unity Quickstarts project may take action, removing issues, |
| 38 | +comments, and PRs or blocking accounts as deemed appropriate. |
| 39 | + |
| 40 | +## <a name="question"></a> Got a Question or Problem? |
| 41 | + |
| 42 | +If you have questions about how to use the Firebase Unity Quickstarts, please |
| 43 | +direct these to [StackOverflow][stackoverflow] and use the `firebase` tag. We |
| 44 | +are also available on GitHub issues. |
| 45 | + |
| 46 | +If you feel that we're missing an important bit of documentation, feel free to |
| 47 | +file an issue so we can help. Here's an example to get you started: |
| 48 | + |
| 49 | +``` |
| 50 | +What are you trying to do or find out more about? |
| 51 | +
|
| 52 | +Where have you looked? |
| 53 | +
|
| 54 | +Where did you expect to find this information? |
| 55 | +``` |
| 56 | + |
| 57 | +## <a name="issue"></a> Found an Issue? |
| 58 | +If you find a bug in the source code or a mistake in the documentation, you can |
| 59 | +help us by submitting an issue to our [GitHub Repository][github]. Even better |
| 60 | +you can submit a Pull Request with a fix. |
| 61 | + |
| 62 | +See [below](#submit) for some guidelines. |
| 63 | + |
| 64 | +## <a name="submit"></a> Submission Guidelines |
| 65 | + |
| 66 | +### Submitting an Issue |
| 67 | +Before you submit your issue, search the archive, maybe your question was |
| 68 | +already answered. |
| 69 | + |
| 70 | +If your issue appears to be a bug, and hasn't been reported, open a new issue. |
| 71 | +Help us to maximize the effort we can spend fixing issues and adding new |
| 72 | +features, by not reporting duplicate issues. Providing the following |
| 73 | +information will increase the chances of your issue being dealt with quickly: |
| 74 | + |
| 75 | +* **Overview of the Issue** - if an error is being thrown a stack trace with |
| 76 | + symbols helps |
| 77 | +* **Motivation for or Use Case** - explain why this is a bug for you |
| 78 | +* **Operating System** - is this a problem for all operating systems? |
| 79 | +* **Reproduce the Error** - provide a live example or a unambiguous set of |
| 80 | + steps. |
| 81 | +* **Related Issues** - has a similar issue been reported before? |
| 82 | +* **Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point |
| 83 | + to what might be causing the problem (line of code or commit) |
| 84 | + |
| 85 | +**If you get help, help others. Good karma rulez!** |
| 86 | + |
| 87 | +Here's a template to get you started: |
| 88 | + |
| 89 | +``` |
| 90 | +Operating system: |
| 91 | +Operating system version: |
| 92 | +
|
| 93 | +What steps will reproduce the problem: |
| 94 | +1. |
| 95 | +2. |
| 96 | +3. |
| 97 | +
|
| 98 | +What is the expected result? |
| 99 | +
|
| 100 | +What happens instead of that? |
| 101 | +
|
| 102 | +Please provide any other information below, and attach a screenshot if possible. |
| 103 | +``` |
| 104 | + |
| 105 | +### Submitting a Pull Request |
| 106 | +Before you submit your pull request consider the following guidelines: |
| 107 | + |
| 108 | +* Search [GitHub](https://github.com/firebase/quickstart-unity/pulls) for an |
| 109 | + open or closed Pull Request that relates to your submission. You don't want |
| 110 | + to duplicate effort. |
| 111 | +* Please sign our [Contributor License Agreement (CLA)](#cla) before sending |
| 112 | + pull requests. We cannot accept code without this. |
| 113 | +* Make your changes in a new git branch: |
| 114 | + |
| 115 | + ```shell |
| 116 | + git checkout -b my-fix-branch master |
| 117 | + ``` |
| 118 | + |
| 119 | +* Create your patch, **including appropriate test cases**. |
| 120 | +* Follow our [Coding Rules](#rules). |
| 121 | +* Avoid checking in files that shouldn't be tracked (e.g `.tmp`, `.idea`). |
| 122 | + We recommend using a [global](#global-gitignore) gitignore for this. |
| 123 | +* Commit your changes using a descriptive commit message. |
| 124 | +
|
| 125 | + ```shell |
| 126 | + git commit -a |
| 127 | + ``` |
| 128 | + Note: the optional commit `-a` command line option will automatically "add" |
| 129 | + and "rm" edited files. |
| 130 | +
|
| 131 | +* Build your changes locally and run the applications to verify they're still |
| 132 | + functional. |
| 133 | + |
| 134 | +* Push your branch to GitHub: |
| 135 | + |
| 136 | + ```shell |
| 137 | + git push origin my-fix-branch |
| 138 | + ``` |
| 139 | + |
| 140 | +* In GitHub, send a pull request to `firebase/quickstart-unity:master`. |
| 141 | +* If we suggest changes then: |
| 142 | + * Make the required updates. |
| 143 | + * Rebase your branch and force push to your GitHub repository (this will |
| 144 | + update your Pull Request): |
| 145 | + |
| 146 | + ```shell |
| 147 | + git rebase master -i |
| 148 | + git push origin my-fix-branch -f |
| 149 | + ``` |
| 150 | + |
| 151 | +That's it! Thank you for your contribution! |
| 152 | +
|
| 153 | +#### After your pull request is merged |
| 154 | +
|
| 155 | +After your pull request is merged, you can safely delete your branch and pull |
| 156 | +the changes from the main (upstream) repository: |
| 157 | +
|
| 158 | +* Delete the remote branch on GitHub either through the GitHub UI or your local |
| 159 | + shell as follows: |
| 160 | +
|
| 161 | + ```shell |
| 162 | + git push origin --delete my-fix-branch |
| 163 | + ``` |
| 164 | +
|
| 165 | +* Check out the master branch: |
| 166 | +
|
| 167 | + ```shell |
| 168 | + git checkout master -f |
| 169 | + ``` |
| 170 | +
|
| 171 | +* Delete the local branch: |
| 172 | +
|
| 173 | + ```shell |
| 174 | + git branch -D my-fix-branch |
| 175 | + ``` |
| 176 | +
|
| 177 | +* Update your master with the latest upstream version: |
| 178 | +
|
| 179 | + ```shell |
| 180 | + git pull --ff upstream master |
| 181 | + ``` |
| 182 | +
|
| 183 | +## <a name="rules"></a> Coding Rules |
| 184 | +
|
| 185 | +We generally follow the [TODO style guide][unity-style-guide]. |
| 186 | +
|
| 187 | +## <a name="cla"></a> Signing the CLA |
| 188 | +
|
| 189 | +Please sign our [Contributor License Agreement][google-cla] (CLA) before |
| 190 | +sending pull requests. For any code changes to be accepted, the CLA must be |
| 191 | +signed. It's a quick process, we promise! |
| 192 | + |
| 193 | +*This guide was inspired by the [AngularJS contribution guidelines](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md).* |
| 194 | + |
| 195 | +[github]: https://github.com/firebase/quickstart-unity |
| 196 | +[google-cla]: https://cla.developers.google.com |
| 197 | +[unity-style-guide]: https://example.com |
| 198 | +[stackoverflow]: http://stackoverflow.com/questions/tagged/firebase |
| 199 | +[global-gitignore]: https://help.github.com/articles/ignoring-files/#create-a-global-gitignore |
0 commit comments