Skip to content

Commit 7f7fb85

Browse files
committed
releasing: Document process briefly for each step
Brief description of step of the releasing process, some steps are less verbose and need their own file. [releasing] Document process briefly for each step. SailfishOS-SonyXperia/bugs#32 SailfishOS-SonyXperia/bugs#66 Signed-off-by: Björn Bidar <[email protected]>
1 parent 268fcff commit 7f7fb85

File tree

1 file changed

+201
-0
lines changed

1 file changed

+201
-0
lines changed

docs/releasing.org

+201
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
#+TITLE: Releasing Process Documentation
2+
3+
* Brief description about the releasing process
4+
5+
The releasing process of these ports follows a similar structure to the one that
6+
Sailfish OS has.
7+
8+
A release is developed, tested and than branched of into a new release.
9+
Each release has it's on repositories separated from each other.
10+
11+
The release process is usually started directly after a new public
12+
release for Sailfish OS has been released or if possible already started
13+
earlier if possible by following the state of the related port if it exists.
14+
15+
16+
* Create a new story for the release
17+
:PROPERTIES:
18+
:CREATED: [022-12-01 Thu 01:1]
19+
:END:
20+
21+
Create a new story for the release, use an existing release story
22+
as a template.
23+
24+
25+
* Branching of a new release
26+
:PROPERTIES:
27+
:CREATED: [022-12-01 Thu 00:4]
28+
:END:
29+
30+
After the initial testing run ~osc_release_branch.sh~ like this:
31+
#+begin_src sh
32+
./osc_release_branch.sh -P <source_project> -T <target_project> -R <new release>
33+
#+end_src
34+
35+
* Final testing for the release
36+
:PROPERTIES:
37+
:CREATED: [022-12-01 Thu 00:4]
38+
:ID: 1e1f4bf2-1ac3-45cc-8fa8-12b01b6c2d72
39+
:END:
40+
41+
After the release has been branched of create a new release image to test it.
42+
Run ~hadk.tools.mkimage.sh~ with the repository you just branched of, install
43+
the image to your device and run CSD.
44+
45+
To start CSD please follow this link:
46+
[[https://jolla.zendesk.com/hc/en-us/articles/201441067-CSD-tool-for-customer-service-diagnostic][CSD tool for customer service diagnostic – Jolla Service and Support]]
47+
48+
Select run continuous testing to run all tests and follow the instructions
49+
until the tests are done.
50+
51+
Write down all the known issues that can't be fixed right now by creating a bug
52+
for each.
53+
54+
If all tests have passed that can pass right now continue to the next step.
55+
56+
In case there are issues try to work on the specific issue and repeat the tests that
57+
have failed.
58+
Try to write descriptive bug reports and report to upstream if needed.
59+
60+
# FIXME Add description on how to report bugs to Jolla. SailfishOS docs?
61+
62+
* Generating the release changelog
63+
:PROPERTIES:
64+
:CREATED: [022-12-01 Thu 00:4]
65+
:END:
66+
67+
# WIP
68+
# Follow for progress: https://github.com/SailfishOS-SonyXperia/bugs/issues/34
69+
70+
Run dnf repodiff like this:
71+
#+begin_src sh
72+
export LANGUAGE=en_GB.UTF-8
73+
export LC_ALL=en_GB.UTF-8
74+
75+
dnf repodiff \
76+
--repofrompath=n,https://repo.sailfishos.org/obs/nemo:/testing:/hw:/sony:/kumano:/$release/latest_aarch64 \
77+
--repofrompath=o,https://repo.sailfishos.org/obs/nemo:/testing:/hw:/sony:/kumano:/$oldrelease \
78+
--repo-old=o \
79+
--repo-new=n \
80+
--arch=aarch64 \
81+
--hide-author \
82+
Changelog.md
83+
#+end_src
84+
Replace old release with the last release and new release with the release you just tested.
85+
86+
* Create a bug for the known issues of the new release
87+
:PROPERTIES:
88+
:CREATED: [022-12-01 Thu 01:2]
89+
:END:
90+
91+
Create a new bug for the known issues for this release that can't be fixed right now.
92+
93+
Check the post of the previous release for known issues that haven't been fixed
94+
and copy them to the new release post.
95+
96+
97+
* Tag a new release and prepare the release changelog
98+
:PROPERTIES:
99+
:CREATED: [022-12-01 Thu 00:4]
100+
:END:
101+
102+
Tag a new release in the ~droid-hal-version-$vendor-$family~ repository,
103+
e.g. for the Sony Xperia 1/5 -> ~droid-hal-version-sony-kumano~.
104+
105+
Create a new draft release by selecting "Draft a new release" in the
106+
repository mentioned above.
107+
108+
Enter the following into the draft:
109+
#+begin_src org
110+
,* Sailfish OS 4.4.0.68 for {{{VENDOR}}} {{{DEVICE_NAME_PRETTY}}}
111+
112+
These release notes cover Sailfish OS {{RELEASE}} for the following devices:
113+
114+
# Repeat if the device family consists of more than one device
115+
# {{{DEVICE_NAME_VARIANTS}}} should be a comma and space
116+
# separated list of all devices.
117+
118+
- {{{DEVICE_NAME_PRETTY}}} ({{{DEVICE_NAME_VARIANTS}}})
119+
120+
,* Intro
121+
122+
{{{INTRO_BRIEF}}}
123+
124+
# If nessascary adjust the flashing instructions specific to the induvidual adaptation.
125+
To install Sailfish OS on your device please follow the install instructs in the flashing-readme.txt file included in the archive or read the offical flashing instructions for either the Xperia 10 II or Xperia 10 III:
126+
127+
https://jolla.com/sailfishxinstall/
128+
129+
Just make sure to download the software binaries for your device instead of the ones mentioned in the instructions:
130+
131+
# Replaced the placeholder below with a link to the oem binaries of the vendor
132+
# for example for Xperia 1/5 Kumano:
133+
# https://developer.sony.com/file/download/software-binaries-for-aosp-android-10-0-kernel-4-14-kumano-latest
134+
{{{OEM_BINARIES_LINK}}}
135+
136+
137+
,* Known issues
138+
139+
# Replace list of known issues with the following format of known issue
140+
#
141+
# + Link with short name of the issue, usually <bugtracker>#<bugnumber>
142+
# as description for the link.
143+
# In case of Forges such as Github organisation/repository#<bugnumber>.
144+
# - Short description of the issue
145+
#
146+
# Repeat this for all the known issues present.
147+
148+
{{{LIST_OF_KNOW_ISSUES}}}
149+
150+
,* Changelog
151+
152+
# Add a short note above the changelog if needed for example:
153+
# This is the first release for this device, thus the changelog is quite verbose.
154+
#
155+
# Then paste the contents of Changelog.md into the details section, strip the text
156+
# above the first heading.
157+
158+
<details>
159+
{{{Paste changelog here}}}
160+
</details>
161+
162+
163+
#+end_src
164+
165+
166+
Follow the instructions in the draft and replace the contents accordingly.
167+
Attach /Changelog.md/ after you are done.
168+
169+
170+
* Build a new release
171+
:PROPERTIES:
172+
:CREATED: [022-12-01 Thu 00:4]
173+
:END:
174+
175+
Now since you created the release draft it is time to build the final images
176+
for all devices.
177+
178+
Run ~hadk.tools.mkimage.sh~ without specifying the specific device you are building
179+
for, let it build for all devices
180+
181+
After it is done check all the build log, check if all zip archives have the right size.
182+
The size should be around 700Mb.
183+
184+
Now attach each archive created to the draft release you created earlier.
185+
186+
If everything is alright continue with the next step.
187+
188+
189+
* Publish
190+
:PROPERTIES:
191+
:CREATED: [022-12-01 Thu 00:5]
192+
:END:
193+
194+
The final step is to publish and lean back :).
195+
196+
Update each post you publish on with the brief intro to this release,
197+
update the known issues and adjust any other links if necessary.
198+
199+
Change the title of the post to match the current release.
200+
201+
If everything is done, publish the draft release and spread the news.

0 commit comments

Comments
 (0)