Skip to content

Commit 36c9c7e

Browse files
authored
Merge pull request #42 from Stypox/full-release-docs
Add full release docs
2 parents d31163a + 4647899 commit 36c9c7e

File tree

4 files changed

+258
-69
lines changed

4 files changed

+258
-69
lines changed

docs/06_releasing.md

+3-69
Original file line numberDiff line numberDiff line change
@@ -65,80 +65,14 @@ Modify the PR's title if it does not represent the introduced changes anymore.
6565
After a maintainer merged the new feature into the dev branch,
6666
they should add the PR's title or a summary of the changes into the [release notes](#release-notes).
6767

68-
### Creating a New Release
68+
### Normal Releases
6969

7070
Once there are enough changes, and the maintainers believe that NewPipe is ready
7171
for a new version, they should prepare a new release.
7272
Be aware of the rule that a release should never be done on a Friday.
7373
For NewPipe, this means: __Don't do a release if you don't have time for it!!!__
7474

75-
By following the steps listed below, you can publish a stable version of NewPipe:
76-
77-
1. [Merge the translations from Weblate into NewPipe](../08_maintainers_view#merge-changes-from-weblate-into-newpipe).
78-
2. Update your local __dev__ branch and create a [changelog file](#changelog-file).
79-
Make sure to push the changes and [update Weblate](../08_maintainers_view#update-weblate).
80-
3. In your local NewPipe repo, fork the __dev__ branch into a new __release/x.y.z__ branch.
81-
4. Increase the [version number](#version-nomenclature) and update the version code in the `build.gradle` file.
82-
5. Open a pull request form the new __release/x.y.z__ branch into the __master__ branch.
83-
6. Create an issue pointing to the new pull request.
84-
The reason for opening an issue is that from my perception, people read issues more than pull requests.
85-
You can also pin this issue to draw more attention to it.
86-
Ensure that the discussion about regressions take place in this issue.
87-
7. Create signed release and debug APKs of the release branch using the `releaseCandidate` and `debug` build types.
88-
Name the build apk files `NewPipe_<versionCode>_RC1.apk` and `NewPipe_<versionCode>_debug_RC1.apk`.
89-
Zip and post them to the head of the pull request and issue. This way, others can test the release candidate.
90-
Release (candidate) and debug APKs of the latest published NewPipe version
91-
should also be provided to allow testing the upgrade process.
92-
8. Test and QA the new version with the help of others. Keep the PR and issue open for a few days
93-
94-
New features can be merged into __dev__ while the release candidate is tested.
95-
PRs which aim to fix regressions of the upcoming release need to target the __release/x.y.z__ branch.
96-
Read [Quickfixes](#quickfixes) for more info.
97-
98-
The changelogs are translated during the test phase.
99-
Therefore, [the translations need to be merged from Weblate](../08_maintainers_view#merge-changes-from-weblate-into-newpipe) once more.
100-
The translation commit is cherry-picked into the release branch.
101-
102-
Once testing is done and the release branch does not contain critical regressions, and you think the update is ready,
103-
proceed with [releasing the new version](#releasing).
104-
105-
### Quickfixes
106-
107-
When issuing a new release, you will most likely encounter bugs
108-
that might not have existed in previous versions.
109-
These are called __regressions__.
110-
If you find a regression during release phase,
111-
you are allowed to push fixes directly into the release branch
112-
without having to fork a branch away from it.
113-
Maintainers have to be aware that they might be required to fix regressions,
114-
so plan your release at a time when you are available.
115-
116-
When you have pushed a quickfix, you need to provide an updated __release candidate__.
117-
Increment the version number in the filename of the release candidate. e.g. `NewPipe_<versionNumber>_RC2.apk` etc.
118-
_Don't update the actual version number. :P_
119-
120-
![release_branch](img/release_branch.svg)
121-
122-
### Releasing
123-
124-
Once the glorious day of all days has come, and you fulfill the ceremony of releasing.
125-
After going through the release procedure of [creating a new release](#creating-a-new-release)
126-
and maybe a few [quickfixes](#quickfixes) on the new release,
127-
this is what you should do when releasing:
128-
129-
1. Click "Merge Pull Request".
130-
2. Checkout the __master__ branch locally and create an unsigned APK.
131-
3. Send this APK to TheAssassin for signing and publishing in an encrypted and signed E-Mail. He'll check your APK, too.
132-
4. Once you received a signed APK, upgrade the version on your device and look for any crashes and regressions.
133-
5. In the GitHub releases section, make sure the draft name equals the tag name. ![draft_name](img/draft_name.png)
134-
6. Add the signed APK to the draft.
135-
7. Make sure to not have forgotten anything.
136-
8. Click "Publish Release".
137-
9. [Publish the new version on F-Droid](#publish-on-f-droid).
138-
10. Merge __master__ into __dev__ or fast-forward if possible. Push.
139-
11. [Update the changelog for the website](https://github.com/TeamNewPipe/website/blob/master/_includes/release_data.html).
140-
141-
![rebase_back](img/rebase_back_release.svg)
75+
By following the steps listed in [Release instructions](../07_release_instructions), you can publish a stable version of NewPipe.
14276

14377
## Hotfix Releases
14478

@@ -275,7 +209,7 @@ For this reason it is recommended to keep the changelog at 400 bytes.
275209

276210
When creating the changelog file be aware of changes which were done in the extractor as well.
277211
Before pushing the changelog to NewPipe's repo, ask other maintainers to review it.
278-
After pushing the changelog to NewPipe's GitHub repo, [updating Weblate](../08_maintainers_view#update-weblate) is necessary.
212+
After pushing the changelog to NewPipe's GitHub repo, [updating Weblate](../09_maintainers_view#update-weblate) is necessary.
279213
This enables translators to work on localized versions of the changelog before a release is tagged and published.
280214

281215
## Publish on F-Droid

0 commit comments

Comments
 (0)