You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by jx...@apache.org on 2022/05/12 20:08:46 UTC
[helix] branch master updated: Define development process
This is an automated email from the ASF dual-hosted git repository.
jxue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git
The following commit(s) were added to refs/heads/master by this push:
new baf4e2520 Define development process
baf4e2520 is described below
commit baf4e252035ec34c437a2d37b074585eed40e580
Author: Junkai Xue <jx...@linkedin.com>
AuthorDate: Wed May 11 22:27:11 2022 -0700
Define development process
---
website/1.0.4/pom.xml | 4 +-
website/src/site/markdown/DevelopmentProcess.md | 78 +++++++++++++++++++++++++
2 files changed, 80 insertions(+), 2 deletions(-)
diff --git a/website/1.0.4/pom.xml b/website/1.0.4/pom.xml
index d3064bf80..f0bdf130f 100644
--- a/website/1.0.4/pom.xml
+++ b/website/1.0.4/pom.xml
@@ -26,9 +26,9 @@
<version>1.0.5-SNAPSHOT</version>
</parent>
- <artifactId>1.0.5-docs</artifactId>
+ <artifactId>1.0.4-docs</artifactId>
<packaging>bundle</packaging>
- <name>Apache Helix :: Website :: 1.0.5</name>
+ <name>Apache Helix :: Website :: 1.0.4</name>
<properties>
</properties>
diff --git a/website/src/site/markdown/DevelopmentProcess.md b/website/src/site/markdown/DevelopmentProcess.md
new file mode 100644
index 000000000..2a3de9cf9
--- /dev/null
+++ b/website/src/site/markdown/DevelopmentProcess.md
@@ -0,0 +1,78 @@
+<!---
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<head>
+ <title>Development Process</title>
+</head>
+
+Development Process
+---
+
+
+# Project Based Development
+## Project Proposal & Review
+### Overall Steps
+The developer for Apache Helix should use following steps for project based development:
+* Write a Wiki to describe your proposal for the project.
+* Send the proposal to [dev@helix.apache.org](dev@helix.apache.org) for reviewing
+* Addressing all the comments and concerns.
+* Get **AT LEAST ONE** approval from Apache Helix PMCs.
+* Create your project branch and start the implementation.
+* Make sure all tests passed before merging to the main branch.
+
+### Proposal Guidance
+Before the implementation, a project proposal must required for following items documented:
+* Problem Statement
+* Proposed Solutions
+ * Architecture / Structure Change
+ * Potential Impact
+ * Behavior Change
+* Alternative Solutions
+* Roll Out Guidance for Users
+
+For all the list components must be covered in the proposal documentation. This proposal must be submitted in the [github wiki](https://github.com/apache/helix/wiki) under **Document Ready for Review** and mark title prefix with different statuses:
+* **\[Draft\]**: document is working in progress
+* **\[In Review\]**: document is ready to be reviewed and people are reviewing it.
+* **\[Done\]**: document is reviewed and signed off by Apache Helix PMC members.
+
+### Definition of Project
+To define a project, you need to understand the complexity of the feature you implement, improve or fixing bugs.
+Here're the minimum requirements for a project based development. Any one of the item qualified, you must start a project based development:
+ * The work need to be done is a new feature that either :
+ * May cause multiple modules touched .
+ * Over 200 lines code change need to be break down into small PRs.
+ * New modules to be added.
+ * The work need to be done is improvement / bug fixing either:
+ * Over 200 lines code change.
+ * Impact user behavior
+ * Impact Helix client components, such as HelixManager, Participant, Spectator and so on.
+ * Backward incompatible.
+ * Require major refactoring code structure.
+
+Feelfree to add more items and give suggestions to [dev mailing list](dev@helix.apache.org).
+
+# Regular Bug Fixing
+## Bug Fixing Steps
+For all developers who are willing to contributing to Apache Helix for fixing bugs, please following the steps we decribed below.
+* If there is a github issue, assign that ticket to you if you are committer. For contributors, you can leave a comment to let other committers to assign that issue to you. If there is no issue in github, create an issue for that.
+* Working on the bug fixing in your forked repo.
+* Submit PR based on our [template](https://github.com/apache/helix/wiki/Pull-Request-Description-Template)
+* Address all review comments and follow [merge steps](https://github.com/apache/helix/wiki/Pull-Request-Merge-Steps)
+## Relevant Work
+When you work on bug fixing and you found other things need to be done, feel free to create issues and leave **TODO** comments in the code to avoid make the PR larger and larger.