You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/07_release_instructions.md
+28-22
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Release instructions for normal releases
2
2
3
-
This page contains detailed instructions for normal releases. Refer to [Releasing](../06_releasing) for other information about releases.
3
+
This page contains detailed instructions for normal releases. Refer to [Releasing a New NewPipe Version](../06_releasing) for other information about releases.
4
4
5
5
## Preliminary steps
6
6
@@ -45,10 +45,10 @@ This page contains detailed instructions for normal releases. Refer to [Releasin
45
45
- Create a new branch starting from `weblate/dev`, named `weblate-dev`, and switch to it
46
46
-`git checkout -b weblate-dev weblate/dev`
47
47
- If you run `git log --oneline --graph` you should see a Weblate commit on top, and then all of the commits currently on the `dev` branch:
48
-
```
49
-
* cmt12hash (HEAD -> weblate-dev, weblate/dev) Translated using Weblate (...)
50
-
* cmt89hash (origin/dev, dev) Commit message ...
51
-
```
48
+
```md
49
+
* cmt12hash (HEAD -> weblate-dev, weblate/dev) Translated using Weblate (...)
50
+
* cmt89hash (origin/dev, dev) Commit message ...
51
+
```
52
52
- Switch back to the `dev` branch
53
53
-`git checkout dev`
54
54
- Merge `weblate-dev` into `dev`:
@@ -62,16 +62,16 @@ This page contains detailed instructions for normal releases. Refer to [Releasin
62
62
- Create a new English changelog in the [`fastlane/metadata/android/en-US/changelogs/`](https://github.com/TeamNewPipe/NewPipe/blob/dev/fastlane/metadata/android/en-US/changelogs/) folder
63
63
- The file should be named `NEW_VERSION_CODE.txt`, using the new version code found in the [Preliminary steps](#preliminary-steps)
64
64
- The file should have this structure (sections with no points can be removed):
65
-
```
66
-
New
67
-
• ...
65
+
```txt
66
+
New
67
+
• ...
68
68
69
-
Improved
70
-
• ...
69
+
Improved
70
+
• ...
71
71
72
-
Fixed
73
-
• ...
74
-
```
72
+
Fixed
73
+
• ...
74
+
```
75
75
- Make sure you use the `•` for points (it looks nicer than `-`)
76
76
- Capitalize the first letter in each point
77
77
- Use English verbs as if you were asking someone to do something, so for example use "Fix abc" and not "Fixed abc"; this allows saving a few characters and using a consistent style
@@ -85,6 +85,7 @@ This page contains detailed instructions for normal releases. Refer to [Releasin
85
85
## Push the changelog to Weblate
86
86
87
87
Now there should be two new commits (the Weblate and changelog ones) on your local `dev` branch, which are not on NewPipe's remote `dev` branch.
88
+
88
89
- If you are an admin of the NewPipe repo, just push the changes to the remote `dev`
89
90
-`git push origin dev`
90
91
- If you are not an admin, create a pull request normally and ask someone with maintainer access to merge it
@@ -116,14 +117,14 @@ Now there should be two new commits (the Weblate and changelog ones) on your loc
116
117
## Creating the Pull Request
117
118
118
119
- Create a Pull Request (PR) from the new branch you just pushed
119
-
- If you used the correct branch name you should be able to use this URL, after changing the X.X.X: https://github.com/TeamNewPipe/NewPipe/pull/new/release-X.X.X
120
+
- If you used the correct branch name you should be able to use this URL, after changing the X.X.X: `https://github.com/TeamNewPipe/NewPipe/pull/new/release-X.X.X`
120
121
- Make sure the PR has `master` as the *base* branch and `release-X.X.X` as the *compare* branch
121
122
- The PR title should be "Release vX.X.X (NEW_VERSION_CODE)"
122
123
- Remove the entire PR template, and instead put these two lines in the description (the `ISSUE_NUMBER` will be replaced later):
123
-
```
124
-
Do not report regressions here, but rather in the corresponding issue: #ISSUE_NUMBER
125
-
The changelog is also there.
126
-
```
124
+
```md
125
+
Do not report regressions here, but rather in the corresponding issue: #ISSUE_NUMBER
126
+
The changelog is also there.
127
+
```
127
128
- Once you have created the PR, note down its number (from now on called `PR_NUMBER`)
128
129
- In case some issue would be fixed when the release PR is merged, link them using the "Development" tab on the right, or add a "Fixes #...." in the PR description
129
130
-*Check out [#8231](https://github.com/TeamNewPipe/NewPipe/pull/8231) for reference*
@@ -135,10 +136,10 @@ Now there should be two new commits (the Weblate and changelog ones) on your loc
135
136
- The issue title should be "Release vX.X.X (please TEST!)"
136
137
- The issue should have some sections, in the same order as provided below, with `##` before titles
137
138
- The `## Testing for regressions` section should contain the following lines; more information about how to obtain the APK are given at [Testing APKs](testing-apks)
138
-
```
139
-
Debug APK (built by our CI in #PR_NUMBER): ...
140
-
Please report **only regressions** (i.e. new issues) here, not issues that were already present in the previous release!
141
-
```
139
+
```md
140
+
Debug APK (built by our CI in #PR_NUMBER): ...
141
+
Please report **only regressions** (i.e. new issues) here, not issues that were already present in the previous release!
142
+
```
142
143
- An optional `## TODO` section should contain a list of things that still need to be done before releasing, for example regressions that need to be fixed, or a reminder to merge the Weblate changelogs before releasing (use `- [ ]` to create checkbox lists)
143
144
- The `## NewPipeExtractor version` should contain a link to the NewPipeExtractor release this new NewPipe version will ship with (i.e. the one set in [Creating the release branch](#creating-the-release-branch))
144
145
- Copy the draft Markdown changelog [kept on GitHub](https://github.com/TeamNewPipe/NewPipe/releases) (you finalized it earlier in [Create a changelog](#create-a-changelog)) to the clipboard and paste it under the `## App changelog` section
@@ -148,12 +149,14 @@ Now there should be two new commits (the Weblate and changelog ones) on your loc
148
149
## Testing APKs
149
150
150
151
The first time you open the release issue, and then each time some changes are made to the release PR, you should provide a debug APK in the `## Testing for regressions` section.
152
+
151
153
- Wait for the Continuous Integration (CI) to finish testing the PR, then download the resulting debug APK artifact from the "Checks" tab
152
154
- Rename it to `NewPipe_vX.X.X_RC1_debug.apk` where `RC1` should be incremented to `RC2` and so on each time a new APK is provided
153
155
- Zip it and make sure the `.zip` file has the same name as the `.apk` it contains
154
156
- Upload it in the issue description, replacing the `...` placeholder used above
155
157
156
158
Sometimes it might be needed to also provide a release APK. In this case follow the same steps as above, with these differences:
159
+
157
160
- Make sure you are on the `release-X.X.X` branch
158
161
- Build the **release** APK yourself in Android Studio and sign it with your keys
159
162
- Make sure it installs correctly on your device
@@ -169,6 +172,7 @@ Pull requests fixing regressions should target the `release-X.X.X` branch, not t
169
172
## Finally merging the pull request
170
173
171
174
Once enough time has passed and all regressions and TODOs have been solved, you can proceed with the actual release. The following points include merging weblate changes again.
175
+
172
176
- In the local repository, check out the release branch and make sure it is up-to-date with the remote
173
177
-`git checkout release-X.X.X`
174
178
-`git pull origin release-X.X.X`
@@ -203,6 +207,7 @@ Once enough time has passed and all regressions and TODOs have been solved, you
203
207
## Creating the APK
204
208
205
209
Now on the remote `master` branch there is the release code which you need to turn into an APK.
210
+
206
211
- In the local repository, check out the `master` branch and make sure it is up-to-date with the remote
207
212
-`git checkout master`
208
213
-`git pull origin master`
@@ -218,6 +223,7 @@ Now on the remote `master` branch there is the release code which you need to tu
218
223
## Having the APK signed by @TheAssassin
219
224
220
225
Currently @TheAssassin is the only holder of NewPipe's APK signing keys. Therefore you should send the unsigned APK to him, after which he will sign it and send it back to you. He will also then publish the signed APK in NewPipe's F-Droid repo.
226
+
221
227
- Rename `app-release-unsigned.apk` to `NewPipe_vX.X.X.apk`
222
228
- Generate a signature for the APK file
223
229
-`gpg -b NewPipe_vX.X.X.apk` will generate `NewPipe_vX.X.X.apk.sig`
0 commit comments