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 |
---|