summaryrefslogtreecommitdiff
path: root/releases.rst
blob: d0191ba08c54f65c393f2a154730e8006b1e9228 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
..
  This file is part of GNU TALER.
  Copyright (C) 2016 INRIA
  TALER is free software; you can redistribute it and/or modify it under the
  terms of the GNU General Public License as published by the Free Software
  Foundation; either version 2.1, or (at your option) any later version.
  TALER is distributed in the hope that it will be useful, but WITHOUT ANY
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
  A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  You should have received a copy of the GNU Lesser General Public License along with
  TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>

  @author Florian Dold


==============================
Release Process and Checklists
==============================

This document describes the process for releasing a new version of the various
Taler components to the official GNU mirrors.

The following components are published on the GNU mirrors

* taler-exchange (exchange.git)
* taler-merchant (merchant.git)
* talerfrontends (merchant-frontends.git)
* taler-bank (bank.git)
* taler-wallet-webex (wallet-webex.git)


-------
Tagging
-------

Tag releases with an *annotated* commit, like

::

  git tag -a v0.1.0 -m "Official release v0.1.0"
  git push origin v0.1.0

------------------
Database for tests
------------------

For tests in the exchange and merchant to run, make sure that
a database `talertest` is accessible by `$USER`.  Otherwise tests
involving the database logic are skipped.

------------------
Exchange, merchant
------------------

Set the version in `configure.ac`.  The commit being tagged
should be the change of the version.

For the exchange test cases to pass, `make install` must be run first.
Without it, test cases will fail because plugins can't be located.

::

  ./bootstrap
  ./configure # add required options for your system
  make dist
  tar -xf taler-$COMPONENT-$VERSION.tar.gz
  cd taler-$COMPONENT-$VERSION
  make install check

--------------------
Wallet WebExtension
--------------------

The version of the wallet is in `manifest.json`.  The `version_name` should be
adjusted, and `version` should be increased independently on every upload to
the WebStore.

::

  ./configure
  make dist



FIXME: selenium test cases


----------------------
Upload to GNU mirrors
----------------------

See https://www.gnu.org/prep/maintain/maintain.html#Automated-FTP-Uploads

Directive file: 

::

  version: 1.2
  directory: taler
  filename: taler-exchange-0.1.0.tar.gz


Upload the files in *binary mode* to the ftp servers.