aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/Release-Shaarli.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/Release-Shaarli.md')
-rw-r--r--doc/Release-Shaarli.md64
1 files changed, 61 insertions, 3 deletions
diff --git a/doc/Release-Shaarli.md b/doc/Release-Shaarli.md
index d5044fe9..556a96ee 100644
--- a/doc/Release-Shaarli.md
+++ b/doc/Release-Shaarli.md
@@ -2,7 +2,7 @@
2See [Git - Maintaining a project - Tagging your [](.html) 2See [Git - Maintaining a project - Tagging your [](.html)
3releases](http://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project#Tagging-Your-Releases). 3releases](http://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project#Tagging-Your-Releases).
4 4
5### Prerequisites 5## Prerequisites
6This guide assumes that you have: 6This guide assumes that you have:
7- a GPG key matching your GitHub authentication credentials 7- a GPG key matching your GitHub authentication credentials
8 - i.e., the email address identified by the GPG key is the same as the one in your `~/.gitconfig` 8 - i.e., the email address identified by the GPG key is the same as the one in your `~/.gitconfig`
@@ -10,9 +10,40 @@ This guide assumes that you have:
10- a local clone of your Shaarli fork, with the following remotes: 10- a local clone of your Shaarli fork, with the following remotes:
11 - `origin` pointing to your GitHub fork 11 - `origin` pointing to your GitHub fork
12 - `upstream` pointing to the main Shaarli repository 12 - `upstream` pointing to the main Shaarli repository
13- maintainer permissions on the main Shaarli repository (to push the signed tag) 13- maintainer permissions on the main Shaarli repository, to:
14- [Pandoc](http://pandoc.org/) needs to be installed.[](.html) 14 - push the signed tag
15 - create a new release
16- [Composer](https://getcomposer.org/) and [Pandoc](http://pandoc.org/) need to be installed[](.html)
15 17
18## GitHub release draft and `CHANGELOG.md`
19See http://keepachangelog.com/en/0.3.0/ for changelog formatting.
20
21### GitHub release draft
22GitHub allows drafting the release note for the upcoming release, from the [Releases](https://github.com/shaarli/Shaarli/releases) page. This way, the release note can be drafted while contributions are merged to `master`.[](.html)
23
24### `CHANGELOG.md`
25This file should contain the same information as the release note draft for the upcoming version.
26
27Update it to:
28- add new entries (additions, fixes, etc.)
29- mark the current version as released by setting its date and link
30- add a new section for the future unreleased version
31
32```bash
33$ cd /path/to/shaarli
34
35$ nano CHANGELOG.md
36
37[...][](.html)
38## vA.B.C - UNRELEASED
39TBA
40
41## [vX.Y.Z](https://github.com/shaarli/Shaarli/releases/tag/vX.Y.Z) - YYYY-MM-DD[](.html)
42[...][](.html)
43```
44
45
46## Increment the version code, create and push a signed tag
16### Bump Shaarli's version 47### Bump Shaarli's version
17```bash 48```bash
18$ cd /path/to/shaarli 49$ cd /path/to/shaarli
@@ -70,3 +101,30 @@ $ git verify-tag f7762cf803f03f5caf4b8078359a63783d0090c1
70gpg: Signature made Thu 30 Jul 2015 11:46:34 CEST using RSA key ID 4100DF6F 101gpg: Signature made Thu 30 Jul 2015 11:46:34 CEST using RSA key ID 4100DF6F
71gpg: Good signature from "VirtualTam <virtualtam@flibidi.net>" [ultimate][](.html) 102gpg: Good signature from "VirtualTam <virtualtam@flibidi.net>" [ultimate][](.html)
72``` 103```
104
105## Publish the GitHub release
106### Create a GitHub release from a Git tag
107From the previously drafted release:
108- edit the release notes (if needed)
109- specify the appropriate Git tag
110- publish the release
111- profit!
112
113### Generate and upload all-in-one release archives
114Users with a shared hosting may have:
115- no SSH access
116- no possibility to install PHP packages or server extensions
117- no possibility to run scripts
118
119To ease Shaarli installations, it is possible to generate and upload additional release archives,
120that will contain Shaarli code plus all required third-party libraries:
121
122```bash
123$ make release_archive
124```
125
126This will create the following archives:
127- `shaarli-vX.Y.Z-full.tar`
128- `shaarli-vX.Y.Z-full.zip`
129
130The archives need to be manually uploaded on the previously created GitHub release.