add initial part for documenting release cycle
This commit is contained in:
parent
0ab13c65f1
commit
398c072b47
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,51 @@
|
||||||
|
# Releasing a new NewPipe version
|
||||||
|
|
||||||
|
This site is ment for those who want to maintain NewPipe, or just want to know how releasing work.
|
||||||
|
|
||||||
|
![one does not simply push to master](img/onedoes.jpg)
|
||||||
|
|
||||||
|
## Difference between regular and hotfix release
|
||||||
|
|
||||||
|
NewPipe is a web crawler. That means it does not use a web API, but instead tries to scrape the data from the website,
|
||||||
|
this however has the disadvantage of the app to brake instantly when Youtube changes something.
|
||||||
|
We can not know when this happen therefore we need to be prepared when it happens, and at lease reduce our downtime as
|
||||||
|
god as possible. Our whole release cycle is therefore designed around this issue.
|
||||||
|
|
||||||
|
So there is a difference between a release that is meant to introduce new features or fix minor bugs,
|
||||||
|
and a version that fixes an issue that occurred because Youtube (or some other service) suddenly changed their website (mostly call this a shutdown).
|
||||||
|
Lets first have a look how a regular release work, and then how the hotfix release work.
|
||||||
|
|
||||||
|
## Regular releases
|
||||||
|
|
||||||
|
Regular releases are normal releases like they are done like in any other app. Releases are always stored on __master__ branch. By means the latest commit on
|
||||||
|
__master__ is always equal to the current releases. No development is done on master. This ensures that we always have one
|
||||||
|
branch with a stable/releasable version.
|
||||||
|
|
||||||
|
### Feature branching
|
||||||
|
For development the __dev__ branch is used. Pushing to __dev__ directly however is also not allowed since QA and testing should be done before pushing to __dev__.
|
||||||
|
This ensures that also the dev version works as good a possible.
|
||||||
|
So in order to change something on the app one may want to __fork__ the dev branch and develop the changes in his own branch (this is called feature branching).
|
||||||
|
|
||||||
|
![feature_branching](img/release_branch.svg)
|
||||||
|
|
||||||
|
### Merching features/bugfixes
|
||||||
|
|
||||||
|
After being done with the feature one should open up a __Pull Reuqest__ to the dev branch here a maintainer can do __Code review__ and __Quality Assurance (QA)__.
|
||||||
|
If you are a maintainer please take care about the code architecture so corrosion or code shifting can be prevented. Please also preface core quality over functionality.
|
||||||
|
So in short: cool function but bad code -> no merge. We should focus on leaving the code as clean as possible.
|
||||||
|
|
||||||
|
![merge_feature_into_dev](img/merge_into_dev.svg)
|
||||||
|
|
||||||
|
At best you as a maintainer should build the app and put the signed apk into the description of that new Pullrequest. This way other people can test the feature/bugfix and therefore help with QA.
|
||||||
|
|
||||||
|
### Creating a new release
|
||||||
|
|
||||||
|
### Releasing
|
||||||
|
|
||||||
|
## Hotfix releases
|
||||||
|
|
||||||
|
![this_is_fine](img/could_not_decrypt.png)
|
||||||
|
|
||||||
|
### Fix branch
|
||||||
|
|
||||||
|
### Releasing
|
Binary file not shown.
After Width: | Height: | Size: 156 KiB |
|
@ -0,0 +1,210 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="310"
|
||||||
|
height="300"
|
||||||
|
viewBox="390 95 157.2066 158.28308"
|
||||||
|
version="1.1"
|
||||||
|
id="svg65"
|
||||||
|
sodipodi:docname="merge_into_dev.svg"
|
||||||
|
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||||
|
<metadata
|
||||||
|
id="metadata71">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs69" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1366"
|
||||||
|
inkscape:window-height="740"
|
||||||
|
id="namedview67"
|
||||||
|
showgrid="false"
|
||||||
|
units="px"
|
||||||
|
inkscape:zoom="2.9384314"
|
||||||
|
inkscape:cx="319.09352"
|
||||||
|
inkscape:cy="270.89374"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg65" />
|
||||||
|
<g
|
||||||
|
id="Hintergrund"
|
||||||
|
transform="matrix(0.4714669,0,0,0.4714669,202.11115,49.067333)">
|
||||||
|
<text
|
||||||
|
font-size="12.8"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12.80000019px;font-family:sans-serif;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
x="399"
|
||||||
|
y="107.15"
|
||||||
|
id="text4">
|
||||||
|
<tspan
|
||||||
|
x="399"
|
||||||
|
y="107.15"
|
||||||
|
id="tspan2">dev</tspan>
|
||||||
|
</text>
|
||||||
|
<circle
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
cx="417"
|
||||||
|
cy="333.14999"
|
||||||
|
id="ellipse6"
|
||||||
|
r="24" />
|
||||||
|
<g
|
||||||
|
id="g12">
|
||||||
|
<line
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
x1="417"
|
||||||
|
y1="357.14999"
|
||||||
|
x2="416.05899"
|
||||||
|
y2="428.67801"
|
||||||
|
id="line8" />
|
||||||
|
<polyline
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
points="411.161,420.849 416.029,430.914 421.161,420.981 "
|
||||||
|
id="polyline10" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
font-size="12.8"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12.80000019px;font-family:sans-serif;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
x="115.1"
|
||||||
|
y="-31.450001"
|
||||||
|
id="text16">
|
||||||
|
<tspan
|
||||||
|
x="115.1"
|
||||||
|
y="-31.450001"
|
||||||
|
id="tspan14" />
|
||||||
|
</text>
|
||||||
|
<text
|
||||||
|
font-size="12.8"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12.80000019px;font-family:sans-serif;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
x="470"
|
||||||
|
y="108.15"
|
||||||
|
id="text20">
|
||||||
|
<tspan
|
||||||
|
x="470"
|
||||||
|
y="108.15"
|
||||||
|
id="tspan18">feature_xyz</tspan>
|
||||||
|
</text>
|
||||||
|
<circle
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
cx="500.25"
|
||||||
|
cy="240.39999"
|
||||||
|
id="ellipse22"
|
||||||
|
r="23.25" />
|
||||||
|
<g
|
||||||
|
id="g28">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
d="M 500.25,263.65 C 497,296.15 418,259.15 417.089,304.679"
|
||||||
|
id="path24"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<polyline
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
points="412.246,296.816 417.045,306.914 422.244,297.016 "
|
||||||
|
id="polyline26" />
|
||||||
|
</g>
|
||||||
|
<circle
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
cx="416.75"
|
||||||
|
cy="156.89999"
|
||||||
|
id="ellipse30"
|
||||||
|
r="22.75" />
|
||||||
|
<g
|
||||||
|
id="g36">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
d="m 416.75,179.65 c 0.25,32.5 82.25,12.5 83.277,33.033"
|
||||||
|
id="path32"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<polyline
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
points="494.645,205.179 500.138,214.917 504.633,204.68 "
|
||||||
|
id="polyline34" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g42">
|
||||||
|
<line
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
x1="416.75"
|
||||||
|
y1="179.64999"
|
||||||
|
x2="416.991"
|
||||||
|
y2="304.67801"
|
||||||
|
id="line38" />
|
||||||
|
<polyline
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
points="411.976,296.924 416.996,306.914 421.976,296.904 "
|
||||||
|
id="polyline40" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g48">
|
||||||
|
<line
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
x1="568"
|
||||||
|
y1="160.14999"
|
||||||
|
x2="495.423"
|
||||||
|
y2="184.634"
|
||||||
|
id="line44" />
|
||||||
|
<polygon
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
points="497.021,189.372 493.825,179.896 485.948,187.83 "
|
||||||
|
id="polygon46" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
font-size="12.8"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12.80000019px;font-family:sans-serif;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
x="583"
|
||||||
|
y="160.14999"
|
||||||
|
id="text54">
|
||||||
|
<tspan
|
||||||
|
x="583"
|
||||||
|
y="160.14999"
|
||||||
|
id="tspan50">PULL REQUEST</tspan>
|
||||||
|
<tspan
|
||||||
|
x="583"
|
||||||
|
y="176.14999"
|
||||||
|
id="tspan52">Do QA/Codereview here</tspan>
|
||||||
|
</text>
|
||||||
|
<text
|
||||||
|
font-size="12.8"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12.80000019px;font-family:sans-serif;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
x="488.254"
|
||||||
|
y="106.059"
|
||||||
|
id="text58">
|
||||||
|
<tspan
|
||||||
|
x="488.254"
|
||||||
|
y="106.059"
|
||||||
|
id="tspan56" />
|
||||||
|
</text>
|
||||||
|
<text
|
||||||
|
font-size="12.7998"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12.79979992px;font-family:sans-serif;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
x="494"
|
||||||
|
y="104"
|
||||||
|
id="text62">
|
||||||
|
<tspan
|
||||||
|
x="494"
|
||||||
|
y="104"
|
||||||
|
id="tspan60" />
|
||||||
|
</text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 6.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
|
@ -0,0 +1,127 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="210"
|
||||||
|
height="310.22198"
|
||||||
|
viewBox="385 95 111.125 157.21394"
|
||||||
|
version="1.1"
|
||||||
|
id="svg31"
|
||||||
|
sodipodi:docname="release_branch.svg"
|
||||||
|
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||||
|
<metadata
|
||||||
|
id="metadata37">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs35" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1366"
|
||||||
|
inkscape:window-height="740"
|
||||||
|
id="namedview33"
|
||||||
|
showgrid="false"
|
||||||
|
units="px"
|
||||||
|
inkscape:zoom="2.7171031"
|
||||||
|
inkscape:cx="83.271021"
|
||||||
|
inkscape:cy="318.35955"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg31" />
|
||||||
|
<g
|
||||||
|
id="Hintergrund"
|
||||||
|
transform="matrix(0.66806063,0,0,0.66806063,127.1286,26.441733)">
|
||||||
|
<text
|
||||||
|
font-size="12.8"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12.80000019px;font-family:sans-serif;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
x="399"
|
||||||
|
y="107.15"
|
||||||
|
id="text4">
|
||||||
|
<tspan
|
||||||
|
x="399"
|
||||||
|
y="107.15"
|
||||||
|
id="tspan2">dev</tspan>
|
||||||
|
</text>
|
||||||
|
<circle
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
cx="411"
|
||||||
|
cy="243.14999"
|
||||||
|
id="ellipse6"
|
||||||
|
r="24" />
|
||||||
|
<g
|
||||||
|
id="g12">
|
||||||
|
<line
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
x1="411"
|
||||||
|
y1="267.14999"
|
||||||
|
x2="410.05899"
|
||||||
|
y2="338.67801"
|
||||||
|
id="line8" />
|
||||||
|
<polyline
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
points="405.161,330.849 410.029,340.914 415.161,330.981 "
|
||||||
|
id="polyline10" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
font-size="12.8"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12.80000019px;font-family:sans-serif;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
x="115.1"
|
||||||
|
y="-31.450001"
|
||||||
|
id="text16">
|
||||||
|
<tspan
|
||||||
|
x="115.1"
|
||||||
|
y="-31.450001"
|
||||||
|
id="tspan14" />
|
||||||
|
</text>
|
||||||
|
<text
|
||||||
|
font-size="12.8"
|
||||||
|
style="font-style:normal;font-weight:normal;font-size:12.80000019px;font-family:sans-serif;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
x="470"
|
||||||
|
y="108.15"
|
||||||
|
id="text20">
|
||||||
|
<tspan
|
||||||
|
x="470"
|
||||||
|
y="108.15"
|
||||||
|
id="tspan18">release_xyz</tspan>
|
||||||
|
</text>
|
||||||
|
<circle
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
cx="494.25"
|
||||||
|
cy="150.39999"
|
||||||
|
id="ellipse22"
|
||||||
|
r="23.25" />
|
||||||
|
<g
|
||||||
|
id="g28">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
d="M 494.25,173.65 C 491,206.15 412,169.15 411.089,214.679"
|
||||||
|
id="path24"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<polyline
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
points="406.246,206.816 411.045,216.914 416.244,207.016 "
|
||||||
|
id="polyline26" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
Loading…
Reference in New Issue