From 764d9ffc40a3134ad83024f0d419991596fb7323 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 23 Feb 2015 10:56:48 +0100 Subject: [PATCH 01/20] updates the contributing guidelines Update the contributing guidelines to provide a single source of truth for contributions from the community. Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 49 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f622cdb0cdc4..3972761fa936 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,46 @@ OpenProject is an open source project and we encourage you to help us out. We'd be happy if you do one of these things: -* Create a [new work package on openproject.org](https://community.openproject.org/projects/openproject/work_packages) if you find a bug or need a feature -* Help out other people on our [forums](https://community.openproject.org/projects/openproject/boards) -* Help us [translate OpenProject to more languages](https://community.openproject.org/projects/openproject/wiki/Translations) -* Contribute code via GitHub Pull Requests, see our [contribution page](https://community.openproject.org/projects/openproject/wiki/Contribution) for more information -* See [Git Flow](https://community.openproject.org/projects/openproject/wiki/Git_Branching_Model) +## Development flow +For contributing source code, please follow the Git Workflow below: + +- Fork Openproject on GitHub +- Clone your fork to your development machine: + +``` +git clone git@github.com//openproject +``` + +- Optional: Add the original OpenProject repository as a remote, so you can fetch changes: + +``` +git remote add upstream git@github.com:/opf/openproject +``` + +- Make sure you're on the right branch, right now (February 2015), the main development branch is dev: + +``` +git checkout dev +``` + +- Create a feature branch: + +``` +git checkout -b feature/ +``` + +- Make your changes, then push the branch into your ***own*** repository: + +``` +git push origin +``` + +- Create a pull request (PR) against a branch of of the repository, containing a ***clear description*** of what the pull request attempts to change and/or fix. + +We will then review your PR. Please note that you can add commits after the PR has been created by pushing to the branch in your fork. + +## Important notices + +- Please add tests to your code to verify functionality, especially if it is a new feature. Please also run these tests locally. +- Please create pull requests against the current `dev` branch. Hotfixes and Bugfixes should be created against the appropiate `release/*` branch. +- We want to keep the Pull request list as cleaned up as possible - we will close pull requests after an inactivity period of 48 hours (no comments, no further pushes) +- We use OpenProject for development coordination - please have a look at [the work packages list](https://community.openproject.org/projects/openproject/work_packages) for upcoming features and reported bugs. From d56e9bcb5a110c46a2e5f4bf945a69871535c194 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 23 Feb 2015 11:05:38 +0100 Subject: [PATCH 02/20] emphasize grace period also, use a different phrasing for the grace period. --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3972761fa936..39c2e6970888 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -42,5 +42,5 @@ We will then review your PR. Please note that you can add commits after the PR h - Please add tests to your code to verify functionality, especially if it is a new feature. Please also run these tests locally. - Please create pull requests against the current `dev` branch. Hotfixes and Bugfixes should be created against the appropiate `release/*` branch. -- We want to keep the Pull request list as cleaned up as possible - we will close pull requests after an inactivity period of 48 hours (no comments, no further pushes) +- We want to keep the Pull request list as cleaned up as possible - we aim to close pull requests after an inactivity period of ***72 hours*** (no comments, no further pushes) - We use OpenProject for development coordination - please have a look at [the work packages list](https://community.openproject.org/projects/openproject/work_packages) for upcoming features and reported bugs. From 5731bdba01f7b72233af0dd23de69e899c66d50d Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 23 Feb 2015 15:07:09 +0100 Subject: [PATCH 03/20] add a note on connection to work packages [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 39c2e6970888..51061fb4875d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,5 +1,9 @@ OpenProject is an open source project and we encourage you to help us out. We'd be happy if you do one of these things: +## Issue flow + +Ideally, there is a work package for every issue that is tackled by a contributor - the list can be found [here](https://community.openproject.org/projects/openproject/work_packages). Work packages can be created there on-demand if necessary. + ## Development flow For contributing source code, please follow the Git Workflow below: @@ -42,5 +46,5 @@ We will then review your PR. Please note that you can add commits after the PR h - Please add tests to your code to verify functionality, especially if it is a new feature. Please also run these tests locally. - Please create pull requests against the current `dev` branch. Hotfixes and Bugfixes should be created against the appropiate `release/*` branch. -- We want to keep the Pull request list as cleaned up as possible - we aim to close pull requests after an inactivity period of ***72 hours*** (no comments, no further pushes) +- We want to keep the Pull request list as cleaned up as possible - we will close pull requests after an inactivity period of 48 hours (no comments, no further pushes) - We use OpenProject for development coordination - please have a look at [the work packages list](https://community.openproject.org/projects/openproject/work_packages) for upcoming features and reported bugs. From fa11ee312708676a8f38049ce6b3d3fd8836d960 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 23 Feb 2015 15:54:16 +0100 Subject: [PATCH 04/20] remove the timestamp The timestamp is superfluous, as the information for contributing should not expire over time. [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 51061fb4875d..8543928c1048 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,8 +1,4 @@ -OpenProject is an open source project and we encourage you to help us out. We'd be happy if you do one of these things: - -## Issue flow - -Ideally, there is a work package for every issue that is tackled by a contributor - the list can be found [here](https://community.openproject.org/projects/openproject/work_packages). Work packages can be created there on-demand if necessary. +OpenProject is an open source project and we encourage you to help us out. For contributing to OpenProject, please do follow these steps: ## Development flow For contributing source code, please follow the Git Workflow below: @@ -20,7 +16,7 @@ git clone git@github.com//openproject git remote add upstream git@github.com:/opf/openproject ``` -- Make sure you're on the right branch, right now (February 2015), the main development branch is dev: +- Make sure you're on the right branch. The main development branch is `dev`: ``` git checkout dev From 1f69f4fc57534d209d6203f41019723687699dc2 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 23 Feb 2015 15:59:09 +0100 Subject: [PATCH 05/20] increase grace period, add not on WIP label Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8543928c1048..01534edee9ea 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -42,5 +42,5 @@ We will then review your PR. Please note that you can add commits after the PR h - Please add tests to your code to verify functionality, especially if it is a new feature. Please also run these tests locally. - Please create pull requests against the current `dev` branch. Hotfixes and Bugfixes should be created against the appropiate `release/*` branch. -- We want to keep the Pull request list as cleaned up as possible - we will close pull requests after an inactivity period of 48 hours (no comments, no further pushes) +- We want to keep the Pull request list as cleaned up as possible - we will aim close pull requests after an **inactivity period of 72 hours** (no comments, no further pushes) which are not labelled as WIP. - We use OpenProject for development coordination - please have a look at [the work packages list](https://community.openproject.org/projects/openproject/work_packages) for upcoming features and reported bugs. From ca88991270abcfa3833669d4f7f047ed8e408c91 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 23 Feb 2015 16:03:42 +0100 Subject: [PATCH 06/20] reword the first paragraph [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 01534edee9ea..fe2f869db401 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -OpenProject is an open source project and we encourage you to help us out. For contributing to OpenProject, please do follow these steps: +OpenProject is an open source project and we encourage you to help us out. For contributing to OpenProject, please read the following guidelines: ## Development flow For contributing source code, please follow the Git Workflow below: @@ -13,7 +13,7 @@ git clone git@github.com//openproject - Optional: Add the original OpenProject repository as a remote, so you can fetch changes: ``` -git remote add upstream git@github.com:/opf/openproject +git remote add upstream git@github.com:opf/openproject ``` - Make sure you're on the right branch. The main development branch is `dev`: From fb56e927fbc1402547a48c127da41a8c00549356 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 23 Feb 2015 16:06:21 +0100 Subject: [PATCH 07/20] remove typo - It's called OpenProject [skip ci] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fe2f869db401..ebb5494a2e8e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,7 +3,7 @@ OpenProject is an open source project and we encourage you to help us out. For c ## Development flow For contributing source code, please follow the Git Workflow below: -- Fork Openproject on GitHub +- Fork OpenProject on GitHub - Clone your fork to your development machine: ``` From 23129e14a2688b18e551c7e5a4231145a8c2bda6 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 23 Feb 2015 16:17:11 +0100 Subject: [PATCH 08/20] explicilty state the WIP label name [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ebb5494a2e8e..17581fcb9f3c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -42,5 +42,5 @@ We will then review your PR. Please note that you can add commits after the PR h - Please add tests to your code to verify functionality, especially if it is a new feature. Please also run these tests locally. - Please create pull requests against the current `dev` branch. Hotfixes and Bugfixes should be created against the appropiate `release/*` branch. -- We want to keep the Pull request list as cleaned up as possible - we will aim close pull requests after an **inactivity period of 72 hours** (no comments, no further pushes) which are not labelled as WIP. +- We want to keep the Pull request list as cleaned up as possible - we will aim close pull requests after an **inactivity period of 72 hours** (no comments, no further pushes) which are not labelled as `work in progress` by us. - We use OpenProject for development coordination - please have a look at [the work packages list](https://community.openproject.org/projects/openproject/work_packages) for upcoming features and reported bugs. From 7bc15aee01d00b04f8e468debb352ee2bd94c30e Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 23 Feb 2015 16:21:06 +0100 Subject: [PATCH 09/20] remove strange typo [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 17581fcb9f3c..9316476d1a1d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -38,7 +38,7 @@ git push origin We will then review your PR. Please note that you can add commits after the PR has been created by pushing to the branch in your fork. -## Important notices +## Important notes - Please add tests to your code to verify functionality, especially if it is a new feature. Please also run these tests locally. - Please create pull requests against the current `dev` branch. Hotfixes and Bugfixes should be created against the appropiate `release/*` branch. From 1a3912f4cd2a1ac3df2a5254040b9c85d570b05a Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Tue, 24 Feb 2015 10:31:01 +0100 Subject: [PATCH 10/20] split up the important notes Also, include commentary on style guidelines and pull request reviewing. Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 65 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 57 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9316476d1a1d..c2db1898cf62 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,9 +1,12 @@ -OpenProject is an open source project and we encourage you to help us out. For contributing to OpenProject, please read the following guidelines: +OpenProject is an open source project and we encourage you to help us out. For contributing to OpenProject, please read the following guidelines. + +*Please also note that these rules should be acknowledged by everyone, but repository contributors might occasionally deviate from them for practical purposes, e.g. not fork the repo, but have a branch on the main repository.* ## Development flow + For contributing source code, please follow the Git Workflow below: -- Fork OpenProject on GitHub +- **Fork** OpenProject on GitHub - Clone your fork to your development machine: ``` @@ -34,13 +37,59 @@ git checkout -b feature/ git push origin ``` -- Create a pull request (PR) against a branch of of the repository, containing a ***clear description*** of what the pull request attempts to change and/or fix. +- Create a pull request against a branch of of the repository, containing a ***clear description*** of what the pull request attempts to change and/or fix. -We will then review your PR. Please note that you can add commits after the PR has been created by pushing to the branch in your fork. +If your pull request **does not contain a description** for what it does and what it's intentions are, we will reject it. If you are working on a specific work package from the [list](https://community.openproject.org/projects/openproject/work_packages?query_props=%7B%22c%22:%5B%22type%22,%22status%22,%22subject%22,%22assigned_to%22%5D,%22t%22:%22parent:desc%22,%22f%22:%5B%7B%22n%22:%22status_id%22,%22o%22:%22!%22,%22t%22:%22list_status%22,%22v%22:%5B%2217%22,%2223%22,%223%22,%2214%22,%226%22%5D%7D%5D,%22pa%22:1,%22pp%22:20%7D), you may include a link to that work package in the description, so we can track your work. + +We will then review your pull request. Please note that you can add commits after the pull request has been created by pushing to the branch in your fork. ## Important notes -- Please add tests to your code to verify functionality, especially if it is a new feature. Please also run these tests locally. -- Please create pull requests against the current `dev` branch. Hotfixes and Bugfixes should be created against the appropiate `release/*` branch. -- We want to keep the Pull request list as cleaned up as possible - we will aim close pull requests after an **inactivity period of 72 hours** (no comments, no further pushes) which are not labelled as `work in progress` by us. -- We use OpenProject for development coordination - please have a look at [the work packages list](https://community.openproject.org/projects/openproject/work_packages) for upcoming features and reported bugs. +To ensure a smooth workflow for, please take note of the following: + +### Testing + +Please add tests to your code to verify functionality, especially if it is a new feature. + +Pull requests will be verified by TravisCI as well, but please run them locally as well. We have a lot of pull requests coming in and it takes some time to run the complete suite for each one. + +### Code style guidelines + +We use [RuboCop](https://github.com/bbatsov/rubocop) to verify our code style for Ruby. A [RuboCop configuration](https://github.com/opf/openproject/blob/dev/.rubocop.yml) is included in the repository for your convenience. + +Individual files can also be autocorrected with + +``` +rubcocop -a ./path/to/file +``` + +JavaScript style for the frontend can be verified via a `gulp` task in the `frontend` folder: + +``` +gulp lint +``` + +Additionally, we use HoundCI to verifiy the styles for Ruby, as well as for JavaScript. We will reject pull requests which do not meet the code style requirements. + +The style guide applies **to lines you touch**. you do **not** have to correct a file completely if you only touch a single line for a bugfix. When in doubt, the matter will be discussed in the pull request. + +### Branching model + +The main development branch for upcoming releases is `dev`. For identifying the branch to create a pull request against, please refer to these rules: + +- If in doubt, create your pull request against `dev`. All new features, gem updates and bugfixes for the upcoming release should go into the `dev` branch. +- Hotfixes should be created against the appropiate `release/*` branch. Backports for fixes also go against their specific `release/*` branch. + +### Inactive pull requests + +We want to keep the Pull request list as cleaned up as possible - we will aim close pull requests after an **inactivity period of 72 hours** (no comments, no further pushes) which are not labelled as `work in progress` by us. + +### Issue tracking and coordination + +We use OpenProject for development coordination - please have a look at [the work packages list](https://community.openproject.org/projects/openproject/work_packages?query_props=%7B%22c%22:%5B%22type%22,%22status%22,%22subject%22,%22assigned_to%22%5D,%22t%22:%22parent:desc%22,%22f%22:%5B%7B%22n%22:%22status_id%22,%22o%22:%22!%22,%22t%22:%22list_status%22,%22v%22:%5B%2217%22,%2223%22,%223%22,%2214%22,%226%22%5D%7D%5D,%22pa%22:1,%22pp%22:20%7D) for upcoming features and reported bugs. + +### Etiquette and communication + +Lastly, be nice and respectful to each other. We are working hard to make OpenProject the best project management software there is and we are grateful for each contribution. + +If you want to get in touch with us, there is also a [Gitter channel](https://gitter.im) to talk to us directly. From aac40fe2bca10c172f76c094ba15f8d436a85146 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Tue, 24 Feb 2015 13:38:57 +0100 Subject: [PATCH 11/20] add paragraph for CLA This adds a paragraph for the CLA requirement for external contributors. Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c2db1898cf62..bf48bfc9ab3a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,6 +2,11 @@ OpenProject is an open source project and we encourage you to help us out. For c *Please also note that these rules should be acknowledged by everyone, but repository contributors might occasionally deviate from them for practical purposes, e.g. not fork the repo, but have a branch on the main repository.* +## Contributors License Agreement + +External contributors have to sign a CLA before contributing to OpenProject. +The [CLA can be found here](https://www.openproject.org/wp-content/uploads/2014/09/OPF-Contributor-License-Agreement_v.2.pdf) and has to be filled out and sent to cla@openproject.org. Additionally, a GPG signature has to be provided. + ## Development flow For contributing source code, please follow the Git Workflow below: From db7b44433918f008986ba5fe33b40e75b635879b Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Tue, 24 Feb 2015 14:32:44 +0100 Subject: [PATCH 12/20] add a note for force pushing and cancelling builds [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bf48bfc9ab3a..ddf2676bbecf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -85,6 +85,8 @@ The main development branch for upcoming releases is `dev`. For identifying the - If in doubt, create your pull request against `dev`. All new features, gem updates and bugfixes for the upcoming release should go into the `dev` branch. - Hotfixes should be created against the appropiate `release/*` branch. Backports for fixes also go against their specific `release/*` branch. +If you push to your branch in quick sucession, please consider stopping the assoicated Travis builds, as travis will run for each commit. This is especially true if you force push to the branch. + ### Inactive pull requests We want to keep the Pull request list as cleaned up as possible - we will aim close pull requests after an **inactivity period of 72 hours** (no comments, no further pushes) which are not labelled as `work in progress` by us. From ca0aeef56c17ed78895fe2b124bef2463fa868ad Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Wed, 25 Feb 2015 10:04:42 +0100 Subject: [PATCH 13/20] remove guidelines for code style Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ddf2676bbecf..2fec40ca72de 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -58,26 +58,6 @@ Please add tests to your code to verify functionality, especially if it is a new Pull requests will be verified by TravisCI as well, but please run them locally as well. We have a lot of pull requests coming in and it takes some time to run the complete suite for each one. -### Code style guidelines - -We use [RuboCop](https://github.com/bbatsov/rubocop) to verify our code style for Ruby. A [RuboCop configuration](https://github.com/opf/openproject/blob/dev/.rubocop.yml) is included in the repository for your convenience. - -Individual files can also be autocorrected with - -``` -rubcocop -a ./path/to/file -``` - -JavaScript style for the frontend can be verified via a `gulp` task in the `frontend` folder: - -``` -gulp lint -``` - -Additionally, we use HoundCI to verifiy the styles for Ruby, as well as for JavaScript. We will reject pull requests which do not meet the code style requirements. - -The style guide applies **to lines you touch**. you do **not** have to correct a file completely if you only touch a single line for a bugfix. When in doubt, the matter will be discussed in the pull request. - ### Branching model The main development branch for upcoming releases is `dev`. For identifying the branch to create a pull request against, please refer to these rules: From dafd8c6c9c71ef31d8f81e985f4cf61173ee78ff Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Thu, 26 Feb 2015 09:38:26 +0100 Subject: [PATCH 14/20] fix typo [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2fec40ca72de..396b9431a114 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -65,7 +65,7 @@ The main development branch for upcoming releases is `dev`. For identifying the - If in doubt, create your pull request against `dev`. All new features, gem updates and bugfixes for the upcoming release should go into the `dev` branch. - Hotfixes should be created against the appropiate `release/*` branch. Backports for fixes also go against their specific `release/*` branch. -If you push to your branch in quick sucession, please consider stopping the assoicated Travis builds, as travis will run for each commit. This is especially true if you force push to the branch. +If you push to your branch in quick sucession, please consider stopping the assoicated Travis builds, as Travis will run for each commit. This is especially true if you force push to the branch. ### Inactive pull requests From 4902697c00fff03ac8a230b9773bbc6a1408dd28 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Thu, 26 Feb 2015 16:07:06 +0100 Subject: [PATCH 15/20] correct typos, clarify exceptions [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 396b9431a114..e64bb1745ab0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ OpenProject is an open source project and we encourage you to help us out. For contributing to OpenProject, please read the following guidelines. -*Please also note that these rules should be acknowledged by everyone, but repository contributors might occasionally deviate from them for practical purposes, e.g. not fork the repo, but have a branch on the main repository.* +*Please also note that these rules should be acknowledged by everyone, but repository contributors might occasionally deviate from them for practical purposes, e.g. not fork the repo, but have a branch on the main repository. This should however stay an exception.* ## Contributors License Agreement @@ -9,7 +9,7 @@ The [CLA can be found here](https://www.openproject.org/wp-content/uploads/2014/ ## Development flow -For contributing source code, please follow the Git Workflow below: +For contributing source code, please follow the git workflow below: - **Fork** OpenProject on GitHub - Clone your fork to your development machine: @@ -50,7 +50,7 @@ We will then review your pull request. Please note that you can add commits afte ## Important notes -To ensure a smooth workflow for, please take note of the following: +To ensure a smooth workflow for everyone, please take note of the following: ### Testing @@ -65,7 +65,9 @@ The main development branch for upcoming releases is `dev`. For identifying the - If in doubt, create your pull request against `dev`. All new features, gem updates and bugfixes for the upcoming release should go into the `dev` branch. - Hotfixes should be created against the appropiate `release/*` branch. Backports for fixes also go against their specific `release/*` branch. -If you push to your branch in quick sucession, please consider stopping the assoicated Travis builds, as Travis will run for each commit. This is especially true if you force push to the branch. +If you push to your branch in quick sucession, please consider stopping the associated Travis builds, as Travis will run for each commit. This is especially true if you force push to the branch. + +Please also use `[ci skip]` in your commit message to suppress builds which are not necessary (e.g. after fixing a typo in the README). ### Inactive pull requests From cd02afccc386a2faf06b1d3d328d0b6a70a490fa Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Thu, 26 Feb 2015 16:08:33 +0100 Subject: [PATCH 16/20] specify gitter channel [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e64bb1745ab0..dbe4d0b283c8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -81,4 +81,4 @@ We use OpenProject for development coordination - please have a look at [the wor Lastly, be nice and respectful to each other. We are working hard to make OpenProject the best project management software there is and we are grateful for each contribution. -If you want to get in touch with us, there is also a [Gitter channel](https://gitter.im) to talk to us directly. +If you want to get in touch with us, there is also a [Gitter channel](https://gitter.im/opf/openproject) to talk to us directly. From 801ae370f38c07f3ac31dad1bb15d1448ecd4e65 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Thu, 26 Feb 2015 16:16:20 +0100 Subject: [PATCH 17/20] emphasize on running tests just make sure they are green. [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dbe4d0b283c8..d791e981bc89 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -54,9 +54,9 @@ To ensure a smooth workflow for everyone, please take note of the following: ### Testing -Please add tests to your code to verify functionality, especially if it is a new feature. +Please add tests to your code to verify functionality, especially if it is a new feature. -Pull requests will be verified by TravisCI as well, but please run them locally as well. We have a lot of pull requests coming in and it takes some time to run the complete suite for each one. +Pull requests will be verified by TravisCI as well, but please run them locally as well and make sure there are green before creating your pull request. We have a lot of pull requests coming in and it takes some time to run the complete suite for each one. ### Branching model From 37ee9e734156ff7273af9e089f8375d52cc79ed6 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 2 Mar 2015 11:47:05 +0100 Subject: [PATCH 18/20] update the branching model to be more specific [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d791e981bc89..6ee5df29aabc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -56,18 +56,21 @@ To ensure a smooth workflow for everyone, please take note of the following: Please add tests to your code to verify functionality, especially if it is a new feature. -Pull requests will be verified by TravisCI as well, but please run them locally as well and make sure there are green before creating your pull request. We have a lot of pull requests coming in and it takes some time to run the complete suite for each one. +Pull requests will be verified by TravisCI as well, but please run them locally as well and make sure they are green before creating your pull request. We have a lot of pull requests coming in and it takes some time to run the complete suite for each one. ### Branching model -The main development branch for upcoming releases is `dev`. For identifying the branch to create a pull request against, please refer to these rules: +The main development branch for upcoming releases is `dev`. If in doubt, create your pull request against `dev`. All new features, gem updates and bugfixes for the upcoming release should go into the `dev` branch. -- If in doubt, create your pull request against `dev`. All new features, gem updates and bugfixes for the upcoming release should go into the `dev` branch. -- Hotfixes should be created against the appropiate `release/*` branch. Backports for fixes also go against their specific `release/*` branch. +#### Bugs and hotfixes + +Bugfixes for one of the actively supported versions of OpenProject should be issued against the respective branch. A fix for the current version (called "Hotfix" and the branch ideally being named `hotfix/XYZ`) should target `release/*` and a fix for the former version (called "Backport" and the branch ideally being named `backport/XYZ`) should target `backport/*`. We will try to merge hotfixes into dev branch but if that is no trivial task, we might ask you to create another PR for that. + +#### Travis CI If you push to your branch in quick sucession, please consider stopping the associated Travis builds, as Travis will run for each commit. This is especially true if you force push to the branch. -Please also use `[ci skip]` in your commit message to suppress builds which are not necessary (e.g. after fixing a typo in the README). +Please also use `[ci skip]` in your commit message to suppress builds which are not necessary (e.g. after fixing a typo in the `README`). ### Inactive pull requests From 3c5bea65047d786cf0aee1aedb28e9a74993a7a9 Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 2 Mar 2015 11:50:14 +0100 Subject: [PATCH 19/20] add the Contributors Code of Conduct [ci skip] Signed-off-by: Florian Kraft --- CONTRIBUTING.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6ee5df29aabc..1d1925e827f2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -80,8 +80,20 @@ We want to keep the Pull request list as cleaned up as possible - we will aim cl We use OpenProject for development coordination - please have a look at [the work packages list](https://community.openproject.org/projects/openproject/work_packages?query_props=%7B%22c%22:%5B%22type%22,%22status%22,%22subject%22,%22assigned_to%22%5D,%22t%22:%22parent:desc%22,%22f%22:%5B%7B%22n%22:%22status_id%22,%22o%22:%22!%22,%22t%22:%22list_status%22,%22v%22:%5B%2217%22,%2223%22,%223%22,%2214%22,%226%22%5D%7D%5D,%22pa%22:1,%22pp%22:20%7D) for upcoming features and reported bugs. -### Etiquette and communication +### Contributor Code of Conduct -Lastly, be nice and respectful to each other. We are working hard to make OpenProject the best project management software there is and we are grateful for each contribution. +As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion. + +Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. + +This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/) + +### Get in touch If you want to get in touch with us, there is also a [Gitter channel](https://gitter.im/opf/openproject) to talk to us directly. From 579183dafaad5931baf1ec19adbd3662f69e4b1f Mon Sep 17 00:00:00 2001 From: Florian Kraft Date: Mon, 2 Mar 2015 11:52:54 +0100 Subject: [PATCH 20/20] Move the Code of Conduct to it's own file [ci skip] Signed-off-by: Florian Kraft --- CODE_OF_COINDUCT.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 CODE_OF_COINDUCT.md diff --git a/CODE_OF_COINDUCT.md b/CODE_OF_COINDUCT.md new file mode 100644 index 000000000000..7f42a238b62c --- /dev/null +++ b/CODE_OF_COINDUCT.md @@ -0,0 +1,13 @@ +### Contributor Code of Conduct + +As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion. + +Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. + +This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/). By participating in this project you agree to abide by its terms.