add first 4 steps of releasing a NewPipe version
This commit is contained in:
parent
398c072b47
commit
b0dc490911
Binary file not shown.
Binary file not shown.
|
@ -26,9 +26,9 @@ For development the __dev__ branch is used. Pushing to __dev__ directly however
|
||||||
This ensures that also the dev version works as good a possible.
|
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).
|
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)
|
![feature_branching](img/feature_branch.svg)
|
||||||
|
|
||||||
### Merching features/bugfixes
|
### Merging 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)__.
|
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.
|
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.
|
||||||
|
@ -36,10 +36,19 @@ So in short: cool function but bad code -> no merge. We should focus on leaving
|
||||||
|
|
||||||
![merge_feature_into_dev](img/merge_into_dev.svg)
|
![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.
|
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.
|
||||||
|
|
||||||
|
After the maintainer merged the new feature into the dev branch he should add the title of the pullrequest or a summary of the changes into the [release note](#release-notes).
|
||||||
|
|
||||||
### Creating a new release
|
### Creating a new release
|
||||||
|
|
||||||
|
Once there are enough features together, and the maintainer feels like releasing he should create a new release. Here is a list of things he will want to do then.
|
||||||
|
|
||||||
|
1. Fork the __dev__ branch into a new __release_x.y.z__ branch.
|
||||||
|
2. Increase the [version number](#versioning)
|
||||||
|
3. Copy the [release note](#release-notes) from the github version draft into the corresponding fastlane file (see [release note](#release-notes)).
|
||||||
|
4. Open up a pull request form the new __release_x.y.z__ branch into the __master__ branch.
|
||||||
|
|
||||||
### Releasing
|
### Releasing
|
||||||
|
|
||||||
## Hotfix releases
|
## Hotfix releases
|
||||||
|
@ -49,3 +58,35 @@ At best you as a maintainer should build the app and put the signed apk into the
|
||||||
### Fix branch
|
### Fix branch
|
||||||
|
|
||||||
### Releasing
|
### Releasing
|
||||||
|
|
||||||
|
## Versioning
|
||||||
|
|
||||||
|
Versioning NewPipe is simple.
|
||||||
|
|
||||||
|
- __Major__: The __major__ version number (the number before the first dot) was 0 for years. The reason for this changed over time. First I wanted this number to
|
||||||
|
switch to 1 once NewPipe was feature complete. Now I rather think of increasing this number to 1 once we can ensure that NewPipe runs stable (part of which this documentation should help). After this (2 and beyond) well god knows what happens if we ever reach 1 ¯\\\_(ツ)\_/¯ .
|
||||||
|
- __Minor__: The __minor__ version number (the number after the first dot) will be increased if there is a major feature added to the app.
|
||||||
|
- __Small Minor__: The small minor (the number after the second dot) will be increased if there are just smaller bug fixes or features added to the app.
|
||||||
|
|
||||||
|
|
||||||
|
#### Versioning the extractor
|
||||||
|
|
||||||
|
The extractor is always released together with the app, therefore the version number of the extractor is the same as the one of the app.
|
||||||
|
|
||||||
|
#### Version code
|
||||||
|
In android an app can also have a [versionCode](https://developer.android.com/studio/publish/versioning). This code is a `long integer` and can be increased by any value to show a device that a new version is there.
|
||||||
|
For NewPipe the version code will be increased by 10 regardless of the change of the major or minor version number. The version codes between the 10 steps
|
||||||
|
are reserved for our internal fdroid build server.
|
||||||
|
|
||||||
|
## Release notes
|
||||||
|
Release notes should give the user an idea of what was changed on the app. The release nodes for NewPipe are stored in the [github draft for a new release](https://github.com/TeamNewPipe/NewPipe/releases/tag/v0.14.0). When a maintainer wants to add change to the release note, but there is no draft for a new version he should create one.
|
||||||
|
|
||||||
|
Changes can be categorized into three types.
|
||||||
|
|
||||||
|
- __New__: New features that god added to the app.
|
||||||
|
- __Improved__: Improvements to the app, or already existing features
|
||||||
|
- __Fixes__: Bugfixes
|
||||||
|
|
||||||
|
When releasing a new version of NewPipe, before actually hitting release the maintainer should copy the release note from the draft and put it into a file called
|
||||||
|
`<versionCode>.txt` (whereas `<versionCode>` needs to be the version code of the comming release). This file must be stored in the direcotry [`/fastlane/metadata/android/en-US/changelogs`](https://github.com/teamnewpipe/newpipe/tree/dev/fastlane/metadata/android/en-US/changelogs). This way fdroid will later be able to show the
|
||||||
|
changes done on the app.
|
||||||
|
|
|
@ -8,14 +8,14 @@
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
width="210"
|
width="210"
|
||||||
height="310.22198"
|
height="300"
|
||||||
viewBox="385 95 111.125 157.21394"
|
viewBox="385 95 104.17968 152.03365"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg31"
|
id="svg39"
|
||||||
sodipodi:docname="release_branch.svg"
|
sodipodi:docname="feature_branch.svg"
|
||||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||||
<metadata
|
<metadata
|
||||||
id="metadata37">
|
id="metadata45">
|
||||||
<rdf:RDF>
|
<rdf:RDF>
|
||||||
<cc:Work
|
<cc:Work
|
||||||
rdf:about="">
|
rdf:about="">
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</metadata>
|
</metadata>
|
||||||
<defs
|
<defs
|
||||||
id="defs35" />
|
id="defs43" />
|
||||||
<sodipodi:namedview
|
<sodipodi:namedview
|
||||||
pagecolor="#ffffff"
|
pagecolor="#ffffff"
|
||||||
bordercolor="#666666"
|
bordercolor="#666666"
|
||||||
|
@ -39,19 +39,19 @@
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:window-width="1366"
|
inkscape:window-width="1366"
|
||||||
inkscape:window-height="740"
|
inkscape:window-height="740"
|
||||||
id="namedview33"
|
id="namedview41"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
units="px"
|
units="px"
|
||||||
inkscape:zoom="2.7171031"
|
inkscape:zoom="0.48032051"
|
||||||
inkscape:cx="83.271021"
|
inkscape:cx="151.1811"
|
||||||
inkscape:cy="318.35955"
|
inkscape:cy="245.66929"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="0"
|
||||||
inkscape:window-y="0"
|
inkscape:window-y="0"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
inkscape:current-layer="svg31" />
|
inkscape:current-layer="svg39" />
|
||||||
<g
|
<g
|
||||||
id="Hintergrund"
|
id="Hintergrund"
|
||||||
transform="matrix(0.66806063,0,0,0.66806063,127.1286,26.441733)">
|
transform="matrix(0.6187154,0,0,0.6187154,144.56047,34.721636)">
|
||||||
<text
|
<text
|
||||||
font-size="12.8"
|
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"
|
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"
|
||||||
|
@ -97,13 +97,13 @@
|
||||||
<text
|
<text
|
||||||
font-size="12.8"
|
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"
|
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"
|
x="459.65701"
|
||||||
y="108.15"
|
y="107.209"
|
||||||
id="text20">
|
id="text20">
|
||||||
<tspan
|
<tspan
|
||||||
x="470"
|
x="459.65701"
|
||||||
y="108.15"
|
y="107.209"
|
||||||
id="tspan18">release_xyz</tspan>
|
id="tspan18">feature_xyz</tspan>
|
||||||
</text>
|
</text>
|
||||||
<circle
|
<circle
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-opacity:1"
|
||||||
|
@ -123,5 +123,27 @@
|
||||||
points="406.246,206.816 411.045,216.914 416.244,207.016 "
|
points="406.246,206.816 411.045,216.914 416.244,207.016 "
|
||||||
id="polyline26" />
|
id="polyline26" />
|
||||||
</g>
|
</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="481"
|
||||||
|
y="102"
|
||||||
|
id="text32">
|
||||||
|
<tspan
|
||||||
|
x="481"
|
||||||
|
y="102"
|
||||||
|
id="tspan30" />
|
||||||
|
</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="505"
|
||||||
|
y="103"
|
||||||
|
id="text36">
|
||||||
|
<tspan
|
||||||
|
x="505"
|
||||||
|
y="103"
|
||||||
|
id="tspan34" />
|
||||||
|
</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 4.4 KiB |
Loading…
Reference in New Issue