[0398a0c] | 1 | Development, how to contribute |
---|
| 2 | ============================== |
---|
| 3 | |
---|
| 4 | .. contents:: |
---|
| 5 | |
---|
| 6 | |
---|
| 7 | What you need |
---|
| 8 | ------------- |
---|
| 9 | |
---|
| 10 | Apart from the dependencies described in the doc:install:, you will need: |
---|
| 11 | |
---|
| 12 | 1. git_. We use it for the version control of OpenWorkouts. |
---|
| 13 | |
---|
| 14 | 2. lessc_. We use it for writing modular css code (and generate the definitive |
---|
| 15 | css files for OpenWorkouts) |
---|
| 16 | |
---|
| 17 | |
---|
| 18 | How to access the source code |
---|
| 19 | ----------------------------- |
---|
| 20 | |
---|
| 21 | Main development site |
---|
| 22 | +++++++++++++++++++++ |
---|
| 23 | |
---|
| 24 | OpenWorkouts development is tracked in our trac_ site: |
---|
| 25 | |
---|
| 26 | https://openworkouts.org/trac |
---|
| 27 | |
---|
| 28 | which is publicly available for everybody. |
---|
| 29 | |
---|
| 30 | From there you can browse the sources within your web browser, get a copy |
---|
| 31 | and access all the development information (tasks, bug reports, milestones, |
---|
| 32 | etc). |
---|
| 33 | |
---|
| 34 | If you want to get an account and collaborate, get in touch with us at |
---|
| 35 | info@openworkouts.org. |
---|
| 36 | |
---|
| 37 | Github mirror |
---|
| 38 | +++++++++++++ |
---|
| 39 | |
---|
| 40 | We also have a mirror in Github: |
---|
| 41 | |
---|
| 42 | https://github.com/openworkouts/OpenWorkouts |
---|
| 43 | |
---|
| 44 | Changes made to the OpenWorkouts repositories are populated to Github, so you |
---|
| 45 | can grab a copy of the sources from there too (and fork, make pull requests, |
---|
| 46 | etc). |
---|
| 47 | |
---|
| 48 | What we don't have replicated in Github is all the development information |
---|
| 49 | (tasks, bugs, etc). |
---|
| 50 | |
---|
| 51 | |
---|
| 52 | Development workflow |
---|
| 53 | -------------------- |
---|
| 54 | |
---|
| 55 | We are using the well-known `git-flow`_ workflow, with some notes: |
---|
| 56 | |
---|
| 57 | 1. The **master** branch is used to keep track of releases |
---|
| 58 | |
---|
| 59 | 2. The **current** branch is the branch that keeps the main development |
---|
| 60 | flow/current. |
---|
| 61 | |
---|
| 62 | 3. Each time a developer wants to implement a new feature, first the |
---|
| 63 | developer grabs the ticket(s) related to that feature in trac, then |
---|
| 64 | a new branch is created from the **current** branch. Work is done on |
---|
| 65 | that branch, which will be merged back to the **current** branch when |
---|
| 66 | it has been finished. |
---|
| 67 | |
---|
| 68 | (more info about this workflow in `this tutorial`_, just remember we |
---|
| 69 | use **current** instead of **development** for the main development |
---|
| 70 | branch) |
---|
| 71 | |
---|
| 72 | 4. Features are grouped in **milestones**, which can be viewed in trac: |
---|
| 73 | |
---|
| 74 | https://openworkouts.org/trac/roadmap |
---|
| 75 | |
---|
| 76 | Once all tasks/tickets in a milestone are done, a release branch is |
---|
| 77 | created. OpenWorkouts is then fully tested, no more features can be |
---|
| 78 | merged at that time, only bugfixes go into the tree, under that branch. |
---|
| 79 | |
---|
| 80 | When testing has finished, the release branch is then merged into the |
---|
| 81 | **master** branch, that branch is tagged and a release is done |
---|
| 82 | |
---|
| 83 | **Bug reports** are saved into a special milestone: |
---|
| 84 | |
---|
| 85 | https://openworkouts.org/trac/milestone/Bug%20reports |
---|
| 86 | |
---|
| 87 | When a bug is reported, a developer grabs the ticket containing the bug, |
---|
| 88 | checking which version is affected. |
---|
| 89 | |
---|
| 90 | If it affects only a specific version, a hotfix branch for that version is |
---|
| 91 | created (using tags to create a branch from the specific release tag) and |
---|
| 92 | the bugfix is written there. |
---|
| 93 | |
---|
| 94 | If it affects all (or several) versions, then the bugfix is developed in a |
---|
| 95 | hotfix branch from current, then it is backported to the previous releases. |
---|
| 96 | |
---|
| 97 | **Again**, reading `this tutorial`_ will help you get a better picture of |
---|
| 98 | this workflow (and in case of any questions, just ping us at |
---|
| 99 | info@openworkouts.org) |
---|
| 100 | |
---|
| 101 | |
---|
| 102 | Documentation |
---|
| 103 | ------------- |
---|
| 104 | |
---|
| 105 | Docs are built using sphinx_, written in rst_ and they are located within the |
---|
| 106 | **docs/** directory of the main OpenWorkouts repo. |
---|
| 107 | |
---|
| 108 | |
---|
| 109 | .. _git: https://git-scm.com |
---|
| 110 | .. _lessc: http://lesscss.org |
---|
| 111 | .. _trac: https://trac.edgewall.org |
---|
| 112 | .. _`git-flow`: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow |
---|
| 113 | .. _`this tutorial`: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow |
---|
| 114 | .. _sphinx: http://www.sphinx-doc.org/en/master |
---|
| 115 | .. _rst: http://docutils.sourceforge.net/rst.html |
---|