Skip to content

Commit ff66500

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 section. [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 ff66500

File tree

1 file changed

+196
-0
lines changed

1 file changed

+196
-0
lines changed

docs/releasing.org

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

0 commit comments

Comments
 (0)