@@ -65,80 +65,14 @@ Modify the PR's title if it does not represent the introduced changes anymore.
65
65
After a maintainer merged the new feature into the dev branch,
66
66
they should add the PR's title or a summary of the changes into the [ release notes] ( #release-notes ) .
67
67
68
- ### Creating a New Release
68
+ ### Normal Releases
69
69
70
70
Once there are enough changes, and the maintainers believe that NewPipe is ready
71
71
for a new version, they should prepare a new release.
72
72
Be aware of the rule that a release should never be done on a Friday.
73
73
For NewPipe, this means: __ Don't do a release if you don't have time for it!!!__
74
74
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.
142
76
143
77
## Hotfix Releases
144
78
@@ -275,7 +209,7 @@ For this reason it is recommended to keep the changelog at 400 bytes.
275
209
276
210
When creating the changelog file be aware of changes which were done in the extractor as well.
277
211
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.
279
213
This enables translators to work on localized versions of the changelog before a release is tagged and published.
280
214
281
215
## Publish on F-Droid
0 commit comments