Contributing
Workflow
Setting up git
- Install git from their official website: git-scm.com/downloads
- If you haven't already, create a new GitHub user: github.com/signup
- Set up your name and email address in git (they will be used for commits and pull requests):
$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
Issue workflow
If you have been assigned an issue, you have to use the following workflow:
-
Create a branch for your issue. Prefix the branch name with
issue/
and the issue number.
For example if you have an issue with number123
, the branch name will beissue/123
.
The base for your branch depends on the issue type: -
Do your commits on this branch and push then regularly. Fix any issues that come up in the CI pipeline.
-
Open a pull request on GitHub, from your issue branch into the
develop
branch. -
Once the PR is reviewed, merge it. The issue should then be closed.
-
Afterwards, a new version can be published
An example of how your development might look like:
graph LR
subgraph develop
a((A))-->b((B))-->c((C))-->d((D))-->e((E))
end
subgraph issue/123
x((X))-->y((Y))
end
b==new branch==>x
y==merge==>d
Version management
branch | corresponding series | aliases | example tag |
---|---|---|---|
develop |
1.4.x |
next |
1.4-RC1 |
release/1.3 |
1.3.x |
latest |
1.3.25 |
release/1.2 |
1.2.x |
- |
1.2.13 |
When a pull request is merged into branch release/1.3
, the tag 1.3.25
must be created.
Subsequently, the branch release/1.3
must be merged into develop
.
graph LR
subgraph develop ["develop (future 1.4.x)"]
developA((A))-->developB((B))-->developC((C))-->developD((D))-->developE((E))
end
subgraph release/1.3 ["release/1.3 (all 1.3.x)"]
release-13A((H))-->release-13B((I))-->release-13C((J))-->release-13D((K))
end
release-13C--merge-->developD
subgraph bugfix-13 ["bugfix for 1.3"]
bugfix-13A((L))-->bugfix-13B((M))
end
release-13B-->bugfix-13A
bugfix-13B--merge-->release-13C
subgraph feature-14 ["feature (future 1.4.x)"]
feature-14A((F))-->feature-14B((G))
end
developB-->feature-14A
feature-14B--merge-->developC
gantt
title Elephox Version Support
dateFormat YYYY-MM-DD
axisFormat %Y-%m
section Elephox 0.x
Development :active, d0-0, 2021-11-01, 2024-01-01
%% section Elephox 1.0
%% Release 1.0 :milestone, m1-0, after d0-0, 0
%% Features :active, f1-0, after d0-0, 90d
%% Fixes :crit, b1-0, after d0-0, 180d
%%
%% section Elephox 1.1
%% Release 1.1 :milestone, m1-1, after f1-0, 0
%% Features :active, f1-1, after f1-0, 90d
%% Fixes :crit, b1-1, after f1-0, 180d
%%
%% section Elephox 1.2
%% Release 1.2 :milestone, m1-2, after f1-1, 0
%% Features :active, f1-2, after f1-1, 180d
%% Fixes :crit, b1-2, after f1-1, 270d
%%
%% section Elephox 2.0
%% Release 2.0 :milestone, m2-0, after f1-2, 0
%% Features :active, f2-0, after f1-2, 270d
%% Fixes :crit, b2-0, after f1-2, 365d
%%
%% section Elephox 2.1
%% Release 2.1 :milestone, m2-1, after f2-0, 0