Merge pull request #9 from rlenferink/update-development-workflow
Added image for describing development workflow and update 'develop' to 'master'
diff --git a/config.toml b/config.toml
index 41000a7..68439be 100644
--- a/config.toml
+++ b/config.toml
@@ -36,7 +36,7 @@
latestVersion = "2.2.0"
repositoryUrl = "https://github.com/apache/celix"
-repositorySourceBranch = "develop"
+repositorySourceBranch = "master"
siteRepositoryUrl = "https://github.com/apache/celix-site"
siteRepositorySourceBranch = "master"
diff --git a/source/contributing/development-workflow.md b/source/contributing/development-workflow.md
new file mode 100755
index 0000000..d874b8e
--- /dev/null
+++ b/source/contributing/development-workflow.md
@@ -0,0 +1,13 @@
+---
+title: Development workflow
+---
+
+# Development workflow
+
+Celix uses an adapted version of the [GitFlow workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow).
+The default branch of the Celix repositories is the `master` branch. Feature branches are created from and against the
+`master` branch. Releases & hotfixes are also created from and against the `master` branch.
+
+The following image visualizes the workflow Celix is using:
+
+<img src="development-workflow.png" class="img-fluid" alt="Celix development workflow">
diff --git a/source/contributing/releasing.md b/source/contributing/releasing.md
index 5358ec4..89a6078 100644
--- a/source/contributing/releasing.md
+++ b/source/contributing/releasing.md
@@ -34,12 +34,12 @@
## Create release branch
-A release will be prepared in a release branch. Normally this is branch created from the develop.
+A release will be prepared in a release branch. This branch is created from the `master` branch.
```bash
-git checkout develop
-git checkout -b release/celix-X.Y.Z
-git push origin release/celix-X.Y.Z
+git checkout master
+git checkout -b release-X.Y.Z
+git push origin release-X.Y.Z
```
## Update release related files
@@ -217,36 +217,35 @@
Thanks for voting.
```
-<p class="alert alert-primary">Note: Be sure to post the vote result with the same topic as the original message. Also
-prepend the subject with [RESULT]. This is, again, needed to be able to keep track of vote threads.</p>
+<p class="alert alert-primary">
+ Note: Be sure to post the vote result with the same topic as the original message. Also prepend the subject with [RESULT].
+ This is, again, needed to be able to keep track of vote threads.
+</p>
## Vote Passed
If the vote is passed sucessfully the release branch can be merged to master, a release tag needs to be created, the release must be moved from the "dev" area to the "release" area
and the release can be announced.
-### Merge to master and create GIT tag
+### Create Git tag and merge to master
After changing all files a tag for the new release must be made. Before doing so, make sure all changed files are committed.
-The release branch needs to be merged into master, a tag - named like rel/celix-X.Y.Z - needs to created and all the changes needs to merged with develop.
+A tag - named like rel/celix-X.Y.Z - needs to created and the release branch needs to be merged into master.
```bash
-$ git checkout master
-$ git merge release/celix-X.Y.Z
-$ git push origin master
-
# To sign a tag using your GPG key, it is necessary to configure git with the key you want to use
# Configure git by issuing the following command, where E43F742E needs to be replaced with your key id
$ git config --global user.signingkey E43F742E
-# Next thing to do is creating the tag
+# Create the tag
$ git tag -s rel/celix-X.Y.Z -m 'Celix release X.Y.Z'
# Next thing to do is pushing the tag to the remote
$ git push origin rel/celix-X.Y.Z
-$ git checkout develop
-$ git merge master
+$ git checkout master
+$ git merge release-X.Y.Z
+$ git push origin master
```
### Roll out release artifacts
diff --git a/source/contributing/submitting-patches.md b/source/contributing/submitting-patches.md
index 3661d7a..1f8042a 100644
--- a/source/contributing/submitting-patches.md
+++ b/source/contributing/submitting-patches.md
@@ -6,6 +6,15 @@
{{% tableofcontents %}}
+
+<p class="alert alert-primary">
+ Celix uses Git so you must install a git client locally to be able to clone the Celix repository.
+</p>
+
+<p class="alert alert-primary">
+ The development workflow that Apache Celix is following is described <a href="development-workflow.html">here</a>.
+</p>
+
## Contributing with GitHub
Using the GitHub mirror is the simplest way to contribute to Apache Celix if you are not a member
@@ -34,16 +43,14 @@
git remote -v
-Now you are ready to work with the Apache Celix' code base. Start with switching to `develop` branch
-
- git checkout develop
+Now you are ready to work with the Apache Celix' code base.
-now is time to fetch any changes from remote repository
+Fetch any changes from the remote repository
git fetch
git pull
-you should create a branch to keep your changes and it must be done off the `develop` branch
+You can now create branches for your changes (branches must be created from the `master` branch)
git checkout -b my-branch
@@ -61,14 +68,14 @@
[Apache Celix mirror](https://github.com/apache/celix), then to [Pull request](https://github.com/apache/celix/pulls)
and hit [New Pull Request](https://github.com/apache/celix/compare/) button.
-If not already selected, click on `compare across forks.` Right now you must select from the dropdowns on right
-your fork and branch to compare the differences with the Apache Celix' `develop` branch.
+If not already selected, click on `compare across forks.` Right now you must select from the dropdowns on the right
+your fork and branch to compare the differences with the Apache Celix' `master` branch.
-Finally hit `Create Pull Request` button and you are done!
+Finally, hit the `Create Pull Request` button and you are done!
-After your PR got accepted and merged you must clean up your local repo, please switch your current branch to `develop`
+After your PR got accepted and merged you must clean up your local repo, please switch your current branch to `master`
- git checkout develop
+ git checkout master
and fetch updates from remote
@@ -83,9 +90,7 @@
## Committers
-Celix uses Git so you must install a git client locally and then you can clone the Celix repository:
-
-either using Apache GitBox
+Committers can use either Apache GitBox
git clone https://gitbox.apache.org/repos/asf/celix.git
@@ -95,18 +100,6 @@
and done!
-<p class="alert alert-primary">Note: Remember that Apache Celix is following the <a href="https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow">GitFlow Workflow</a>
-and the most recent work is on the `develop` branch.</p>
-
-## Non-committers
-
-If you are not a committer you can still clone the Gitbox repo but you won't be able push to any changes to it.
-At that moment, it's easier to use GitHub, as GitHub provides the functionality to handle Pull Requests.
-
- git clone https://github.com/apache/celix.git
-
-For more info, read [Contributing with GitHub](#contributing-with-github) on this page.
-
## Further reading
* [Git at Apache](http://wiki.apache.org/general/GitAtApache)
diff --git a/static/contributing/development-workflow.png b/static/contributing/development-workflow.png
new file mode 100644
index 0000000..01c8731
--- /dev/null
+++ b/static/contributing/development-workflow.png
Binary files differ