2
2
3
3
This is a prototype, so we make releases only to an alpha channel.
4
4
5
- This document is a work in progress, as we haven't yet
6
- completed such a release.
7
5
6
+ ## Prepare source tree
8
7
9
- ## For both platforms
8
+ * If we haven't recently (like in the last week) upgraded our
9
+ Flutter and packages dependencies, do that first.
10
+ For details of how, see our README.
10
11
11
12
* Increment the version number in ` pubspec.yaml ` :
12
13
13
14
Take the line near the top that looks like ` version: 0.0.42+42 ` ,
14
- and increment both numbers. They should remain equal to each other.
15
+ and increment both of the last two numbers.
16
+ They should remain equal to each other.
15
17
18
+ * Commit the version-number change, and tag:
19
+ `git commit pubspec.yaml -m 'version: Bump version to 0.0.NNN'
20
+ && git tag v0.0.NNN`
16
21
17
- ## Android
22
+ * Push the tag to our central repo: ` git push origin main v0.0.NNN `
23
+
24
+
25
+ ## Build and upload: Android
18
26
19
27
* Decrypt the upload key temporarily:
20
28
@@ -29,12 +37,15 @@ completed such a release.
29
37
```
30
38
31
39
* Upload to the "Zulip (Flutter prototype)" app on the Play Console,
32
- as an "Internal testing" release.
40
+ at [ Release -> Testing -> Internal testing] [ play-internaltesting ] ,
41
+ using the "Create new release" button there.
42
+
43
+ * Don't worry about release notes; "An alpha release." is plenty.
33
44
34
- Don't worry about release notes; "An alpha release." is plenty.
45
+ [ play-internaltesting ] : https://play.google.com/console/developers/8060868091387311598/app/4972181690507348330/tracks/internal-testing
35
46
36
47
37
- ## iOS
48
+ ## Build and upload: iOS
38
49
39
50
* Build an app archive:
40
51
@@ -59,7 +70,26 @@ completed such a release.
59
70
provided all goes well with the "processing" step.
60
71
61
72
62
- ## One-time setup
73
+ ## Announce
74
+
75
+ * Announce the updated alpha in
76
+ [#mobile-team > zulip-flutter releases][releases-thread].
77
+
78
+ [releases-thread]: https://chat.zulip.org/#narrow/stream/243-mobile-team/topic/zulip-flutter.20releases
79
+
80
+
81
+ ## One-time or annual setup
63
82
64
83
* You'll need the Google Play upload key. The setup is similar to
65
84
what we use for the React Native app, but the key is a fresh one.
85
+
86
+ * You'll need an "Apple Distribution" certificate and its key,
87
+ and also an iOS "provisioning profile" that refers to that
88
+ certificate. The cert expires after a year; the profile
89
+ can be edited to refer to a new cert.
90
+
91
+ To create these, see <https://developer.apple.com/account/resources>.
92
+ Or for a bit more automation: go in Xcode to Settings -> Accounts
93
+ -> (your Apple ID) -> "Kandra Labs, Inc.". Hit the "add" icon,
94
+ and choose "Apple Distribution", to create a key and cert.
95
+ Then use the website only to create or edit the profile.
0 commit comments