2022-07-28 03:08:40 +08:00
|
|
|
Release process
|
|
|
|
===============
|
|
|
|
|
2023-05-04 23:08:00 +08:00
|
|
|
Each Jami sub-project has its own repository, build process, integration
|
|
|
|
cycle and so on. More over the **Jami architecture is split into two
|
2018-05-18 04:39:55 +08:00
|
|
|
independent modules**: LibRing *(daemon)* and clients.
|
|
|
|
|
|
|
|
Having a unique revision is not a solution in this situation. The
|
|
|
|
retained idea is having a global "state" and **various updates per
|
|
|
|
module**.
|
|
|
|
|
2023-05-04 23:08:00 +08:00
|
|
|
For consistency, **each Jami module has to follow the same process** as
|
2018-05-18 04:39:55 +08:00
|
|
|
described in following points. But not all modules have to be modified
|
|
|
|
in same time.
|
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
|
|
|
**PROCESS FLOW:**
|
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
1 | 2 | 3 | 4 | 5 | 6
|
|
|
|
:-----:|:-----:|:-----:|:-----:|:-----:|:-----:
|
|
|
|
Redmine Ticket |Repository Preparation |Testing |Push tags |Packaging | Advertisement
|
2018-05-18 04:39:55 +08:00
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Redmine Ticket
|
|
|
|
--------------
|
|
|
|
|
|
|
|
Create a new Task on redmine attached to the release story, for the
|
|
|
|
right sub-module. Set the title to "Release Major.Minor.Micro", with the
|
|
|
|
appropriate version number.
|
|
|
|
|
|
|
|
Repository Preparation
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
**This section was outdated and removed**
|
|
|
|
|
|
|
|
Testing
|
|
|
|
-------
|
|
|
|
|
2023-05-04 23:08:00 +08:00
|
|
|
* Remove any existing Jami installations from your machine.
|
2018-05-18 04:48:14 +08:00
|
|
|
* Start with clean git tree by running `git clean -d -f -x` from the top
|
2018-05-18 04:39:55 +08:00
|
|
|
level directory of the project.
|
2018-05-18 04:48:14 +08:00
|
|
|
* Build and install the daemon and client, see How\\\_to\\\_build
|
|
|
|
* Run the test suite in daemon and client, on different distributions and
|
2018-05-18 04:39:55 +08:00
|
|
|
machines.
|
2018-05-18 04:48:14 +08:00
|
|
|
* Run manual tests
|
|
|
|
* Try registering and using different accounts.
|
2023-05-04 23:08:00 +08:00
|
|
|
* Try making calls between Jami and other free softphones (Ekiga,
|
2018-05-18 04:39:55 +08:00
|
|
|
Linphone), as well as hardware VoIP phones.
|
2018-05-18 04:48:14 +08:00
|
|
|
* To catch uninitialized values being used, memory leaks, invalid frees,
|
|
|
|
etc. run `valgrind --track-origins=yes --db-attach=yes ./bin/dring`
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
Push tags
|
|
|
|
--------
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
`git push --tags`
|
2018-05-18 04:39:55 +08:00
|
|
|
|
|
|
|
Packaging
|
|
|
|
---------
|
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```bash
|
|
|
|
git clone ssh://tcohen@gerrit-ring.savoirfairelinux.com:29420/ring
|
|
|
|
cd ring
|
|
|
|
git checkout packaging-releases
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
### RPM
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```bash
|
|
|
|
vim ring-daemon.spec
|
|
|
|
```
|
|
|
|
```bash
|
|
|
|
%define version 2.2.0
|
|
|
|
%define release 1
|
|
|
|
...
|
|
|
|
...
|
|
|
|
...
|
|
|
|
%changelog
|
|
|
|
* Tue Apr 14 2015 Thibault Cohen <thibault.cohen@savoirfairelinux.com> - 2.2.0-1
|
|
|
|
- New upstream version
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
### DEB
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```bash
|
|
|
|
vim debian/changelog
|
|
|
|
```
|
|
|
|
```bash
|
|
|
|
ring-daemon (2.2.0-1) unstable; urgency=medium
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
[ Thibault Cohen]
|
|
|
|
* New upstream version
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
-- Thibault Cohen <thibault.cohen@savoirfairelinux.com> Tue, 14 Apr 2015 12:40:24 -0400
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
### Release
|
2018-05-18 04:39:55 +08:00
|
|
|
|
|
|
|
You just have to launch release script. This script launch build,
|
|
|
|
download and update files and repositories...
|
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```
|
|
|
|
sflvault connect 525
|
|
|
|
...
|
|
|
|
...
|
|
|
|
cd /root/repos/ring/
|
|
|
|
./ring-release-daemon.sh
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
## Gnome
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```bash
|
|
|
|
git clone ssh://tcohen@gerrit-sflphone.savoirfairelinux.com:29420/ring-client-gnome
|
|
|
|
cd ring-client-gnome
|
|
|
|
git checkout packaging-releases
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
### RPM
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
vim ring-daemon.spec
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```bash
|
|
|
|
%define version 0.2.1
|
|
|
|
%define release 1
|
|
|
|
%define daemon_tag 2.1.0
|
|
|
|
%define lrc_tag 0.2.1
|
|
|
|
%define gnome_tag %{version}
|
|
|
|
...
|
|
|
|
...
|
|
|
|
...
|
|
|
|
%changelog
|
|
|
|
* Tue Apr 14 2015 Thibault Cohen <thibault.cohen@savoirfairelinux.com> - 0.2.1-1
|
|
|
|
- New upstream version
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
### DEB
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```bash
|
|
|
|
debian/changelog
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```bash
|
|
|
|
ring-gnome (0.2.1-1) unstable; urgency=medium
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
[ Thibault Cohen]
|
|
|
|
* New Upstream version
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
-- Thibault Cohen <thibault.cohen@savoirfairelinux.com> Tue, 14 Apr 2015 13:16:38 -0400
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```bash
|
|
|
|
debian/rules
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```bash
|
|
|
|
DAEMON_TAG = 2.1.0
|
|
|
|
LRC_TAG = 0.2.1
|
|
|
|
GNOME_TAG = $(VER)
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
### Release
|
2018-05-18 04:39:55 +08:00
|
|
|
|
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
You just have to launch release script. This script launch build, download and update files and repositories...
|
2018-05-18 04:39:55 +08:00
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
```bash
|
|
|
|
sflvault connect 525
|
|
|
|
...
|
|
|
|
...
|
|
|
|
cd /root/repos/ring/
|
|
|
|
./ring-release-gnome.sh
|
|
|
|
```
|
2018-05-18 04:39:55 +08:00
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Advertisement
|
|
|
|
-------------
|
|
|
|
|
|
|
|
When the packaging is finished, test that they are installable. Then
|
|
|
|
announce the release
|
|
|
|
|
2018-05-18 04:48:14 +08:00
|
|
|
* on the official website <https://ring.cx>
|
|
|
|
* on Twitter <https://twitter.com/JoinTheRing>
|
|
|
|
* by email to ring@lists.savoirfairelinux.net with the subject line: "Ring
|
2022-07-28 03:08:40 +08:00
|
|
|
Major.Minor.Patch released"
|