@@ -65,80 +65,14 @@ Modify the PR's title if it does not represent the introduced changes anymore.
6565After a maintainer merged the new feature into the dev branch,
6666they 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
7070Once there are enough changes, and the maintainers believe that NewPipe is ready
7171for a new version, they should prepare a new release.
7272Be aware of the rule that a release should never be done on a Friday.
7373For 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
276210When creating the changelog file be aware of changes which were done in the extractor as well.
277211Before 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.
279213This 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