Skip to content

Commit 852dfd3

Browse files
authored
Update GitHub release process in the docs (#791)
* Update github release process * Update github release process * Fix grammar issues * Update docs fot github release * Update docs fot github release * Update docs for github release
1 parent cda3352 commit 852dfd3

File tree

1 file changed

+169
-3
lines changed

1 file changed

+169
-3
lines changed

docs/source/organization.rst

Lines changed: 169 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,174 @@ When Quark received a PR, the triage process is as below:
129129

130130
Release process
131131
----------------
132-
``Version: v1.1``
133132

134-
The Quark release process is as below:
133+
``Version: v2.0``
134+
135+
Quark releases a new version every month. To streamline this process, we run a GitHub Actions workflow augmented by LLM, which handles the following tasks automatically:
136+
137+
138+
#. Open an issue listing all changes merged since the last release.
139+
#. Create a PR to update the version number and compose the changelog.
140+
#. Generate a release draft.
141+
142+
The workflow is scheduled to start on the Monday preceding the first Wednesday of each month. On that day, we follow the process below to complete the release.
143+
144+
145+
.. image:: https://i.postimg.cc/gYVXBDMp/github-release-drawio-14.png
146+
:target: https://i.postimg.cc/gYVXBDMp/github-release-drawio-14.png
147+
:alt:
148+
149+
150+
.. note::
151+
The release process starts on the Monday preceding the first Wednesday of each month. For example, the process for the **v25.10.1** release starts on **Monday, September 29, 2025**\ , since the following **Wednesday, October 1, 2025**\ , is the first Wednesday of October.
152+
153+
There are 6 steps in the process:
154+
155+
**Step 1. (Optional) Manually initiate the workflow for the GitHub release.**
156+
157+
.. note::
158+
Normally, this step is unnecessary because the workflow will start automatically. If it fails to start, you can initiate it manually using the method below.
159+
160+
161+
Click the ``Actions`` tab on Quark's GitHub page.
162+
163+
.. image:: https://i.postimg.cc/MHW9J1nc/tpBB18r.png
164+
:target: https://i.postimg.cc/MHW9J1nc/tpBB18r.png
165+
:alt:
166+
167+
168+
Click the ``Generate GitHub Release Issue/PR`` workflow in the left sidebar.
169+
170+
171+
.. image:: https://i.postimg.cc/7YDJ7Hpn/Screenshot-2025-08-17-11-55-37.png
172+
:target: https://i.postimg.cc/7YDJ7Hpn/Screenshot-2025-08-17-11-55-37.png
173+
:alt:
174+
175+
176+
Click the gray ``Run workflow`` button and then the green ``Run workflow`` button. The workflow will create an issue and a PR approximately 5 minutes later.
177+
178+
.. image:: https://i.postimg.cc/63hhcTMB/Screenshot-2025-08-11-16-07-17.png
179+
:target: https://i.postimg.cc/63hhcTMB/Screenshot-2025-08-11-16-07-17.png
180+
:alt:
181+
182+
183+
The issue lists all PRs merged since the last release.
184+
185+
.. image:: https://i.postimg.cc/MGcGcstT/issue.jpg
186+
:target: https://i.postimg.cc/MGcGcstT/issue.jpg
187+
:alt:
188+
189+
190+
And the PR updates the version number and changelog.
191+
192+
.. image:: https://i.postimg.cc/MKc3FVsB/pr.jpg
193+
:target: https://i.postimg.cc/MKc3FVsB/pr.jpg
194+
:alt:
195+
196+
197+
**Step 2. Ensure the issue lists all changes since the last release.**
198+
199+
If the auto-generated issue omits any changes since the last release, edit the issue manually to include them. To edit the issue, click the ``...`` menu on the right and select ``Edit``.
200+
201+
.. image:: https://i.postimg.cc/hPM6kKgF/Screenshot-2025-08-12-07-35-15.png
202+
:target: https://i.postimg.cc/hPM6kKgF/Screenshot-2025-08-12-07-35-15.png
203+
:alt:
204+
205+
206+
**Step 3. Test whether the new changes work correctly and do not break any features or downstream projects.**
207+
208+
First, verify that all change listed in the issue works as intended.
209+
210+
.. image:: https://i.postimg.cc/MGcGcstT/issue.jpg
211+
:target: https://i.postimg.cc/MGcGcstT/issue.jpg
212+
:alt:
213+
214+
Next, verify that all CI checks for the PR have passed.
215+
216+
.. image:: https://i.postimg.cc/2CqZ5xDv/cicheck.jpg
217+
:target: https://i.postimg.cc/2CqZ5xDv/cicheck.jpg
218+
:alt:
219+
220+
221+
Then, verify that Quark runs correctly in downstream projects such as Jadx and APKLab, and attach the result screenshots to the issue.
222+
223+
.. image:: https://i.postimg.cc/G2LdFqxG/jadx.jpg
224+
:target: https://i.postimg.cc/G2LdFqxG/jadx.jpg
225+
:alt:
226+
227+
228+
**Step 4. Fix the problems caused by the changes.**
229+
230+
If the changes do not work correctly or break any features or downstream projects, fix the problem.
231+
232+
**Step 5. Ensure the PR is correct and merge it.**
233+
234+
The PR should update the version number in:
235+
236+
237+
* ``debian/control``
238+
* ``docs/source/conf.py``
239+
* ``quark/__init__.py``
240+
241+
The PR should update the changelog in:
242+
243+
244+
* ``debian/changelog``
245+
246+
If the auto-generated PR does not correctly update the version number and changelog, edit them manually by pushing your changes to the branch ``update_version_info_{VERSION_NUMBER}``. For example, if you want to edit the PR for the **v25.8.1** release, push your changes to the branch ``update_version_info_v25.8.1``.
247+
248+
249+
.. image:: https://i.postimg.cc/zJtDRMGd/pr-e.jpg
250+
:target: https://i.postimg.cc/zJtDRMGd/pr-e.jpg
251+
:alt:
252+
253+
254+
To merge the PR, first click the dropdown button 🔽 and select ``Squash and merge``.
255+
256+
.. image:: https://i.postimg.cc/4x2SLwGp/merge-pr-1.jpg
257+
:target: https://i.postimg.cc/4x2SLwGp/merge-pr-1.jpg
258+
:alt:
259+
260+
261+
Next, click the ``Squash and merge`` button.
262+
263+
.. image:: https://i.postimg.cc/T3Bc5sGN/merge-pr-2.jpg
264+
:target: https://i.postimg.cc/T3Bc5sGN/merge-pr-2.jpg
265+
:alt:
266+
267+
268+
Verify the commit message. Then, click the ``Confirm squash and merge`` button to complete the merge.
269+
270+
.. image:: https://i.postimg.cc/hPyscjYB/merge-pr-3.jpg
271+
:target: https://i.postimg.cc/hPyscjYB/merge-pr-3.jpg
272+
:alt:
273+
274+
275+
**Step 6. Ensure the release draft is accurate and publish it.**
276+
277+
Click the ``Releases`` link on Quark’s GitHub page, and you can see the auto-generated release draft.
278+
279+
.. image:: https://i.postimg.cc/SN6XftWt/release-01.jpg
280+
:target: https://i.postimg.cc/SN6XftWt/release-01.jpg
281+
:alt:
282+
283+
284+
Click the pencil button.
285+
286+
.. image:: https://i.postimg.cc/X7GmnSx4/Screenshot-2025-08-12-07-47-19-1.png
287+
:target: https://i.postimg.cc/X7GmnSx4/Screenshot-2025-08-12-07-47-19-1.png
288+
:alt:
289+
290+
291+
If the auto-generated release draft cannot accurately describe the changes, edit it manually to provide a precise description. You can edit the release draft in the ``Write`` tab.
292+
293+
.. image:: https://i.postimg.cc/pTrkkz6R/Screenshot-2025-08-12-07-48-19.png
294+
:target: https://i.postimg.cc/pTrkkz6R/Screenshot-2025-08-12-07-48-19.png
295+
:alt:
296+
297+
298+
To publish the release, click the ``Publish release`` button.
135299

136-
.. image:: https://i.imgur.com/WtN2eLi.png
300+
.. image:: https://i.postimg.cc/c1gGLn4p/Screenshot-2025-08-12-07-48-56.png
301+
:target: https://postimg.cc/c6SbD63h
302+
:alt: Screenshot-2025-08-12-07-48-56.png

0 commit comments

Comments
 (0)