aboutsummaryrefslogtreecommitdiffhomepage
path: root/RELEASE_PROCESS.md
diff options
context:
space:
mode:
authorJeremy Benoist <jeremy.benoist@gmail.com>2019-05-29 11:41:07 +0200
committerJeremy Benoist <jeremy.benoist@gmail.com>2019-05-29 11:41:07 +0200
commit6546aca4a3a54ec61c3b43e84aa948efb1aeca95 (patch)
treeda21bd96caa6eb74c6aae94bb876a22d0ea1ea8e /RELEASE_PROCESS.md
parent73ec68b1ffafb792265a3805833e5cd84c966aed (diff)
downloadwallabag-6546aca4a3a54ec61c3b43e84aa948efb1aeca95.tar.gz
wallabag-6546aca4a3a54ec61c3b43e84aa948efb1aeca95.tar.zst
wallabag-6546aca4a3a54ec61c3b43e84aa948efb1aeca95.zip
Keep composer.lock
We initially ignored the `composer.lock` because it generated a lock of rebase on PR when someone updated it and the master updated it too. Now we have less contributions (sadly) so I think we won't run against that problem. Also, it'll solve issue about people cloning the master and got angry because composer eat all the available memory to determine packages to install. It'll also be much easier to make release. Scrutinizer & Travis will be faster too.
Diffstat (limited to 'RELEASE_PROCESS.md')
-rw-r--r--RELEASE_PROCESS.md43
1 files changed, 6 insertions, 37 deletions
diff --git a/RELEASE_PROCESS.md b/RELEASE_PROCESS.md
index 829f8390..c8b29b18 100644
--- a/RELEASE_PROCESS.md
+++ b/RELEASE_PROCESS.md
@@ -22,59 +22,28 @@ During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE` (li
22git checkout master 22git checkout master
23git pull origin master 23git pull origin master
24git checkout -b release-$LAST_WALLABAG_RELEASE 24git checkout -b release-$LAST_WALLABAG_RELEASE
25SYMFONY_ENV=prod composer up --no-dev 25composer up
26```
27
28- Update `.travis.yml` file and replace the composer line with this one:
29
30```diff
31script:
32- - travis_wait bash composer install -o --no-interaction --no-progress --prefer-dist
33+ - travis_wait bash composer update -o --no-interaction --no-progress --prefer-dist
34``` 26```
35 27
36- Then continue with these commands: 28- Then continue with these commands:
37 29
38``` 30```
39git add --force composer.lock .travis.yml 31git add composer.lock
40git commit -m "Release wallabag $LAST_WALLABAG_RELEASE" 32git commit -m "Release wallabag $LAST_WALLABAG_RELEASE"
41git push origin release-$LAST_WALLABAG_RELEASE 33git push origin release-$LAST_WALLABAG_RELEASE
42``` 34```
43 35
44- Create a new pull request with this title `DON'T MERGE Release wallabag $LAST_WALLABAG_RELEASE`. This pull request is used to launch builds on Travis-CI. 36- Create a new pull request with this title `Release wallabag $LAST_WALLABAG_RELEASE`. This pull request is used to launch builds on Travis-CI.
37- Once PR is green, merge it and delete the branch.
45- Run these command to create the package: 38- Run these command to create the package:
46 39
47``` 40```
48make release VERSION=$LAST_WALLABAG_RELEASE 41make release VERSION=$LAST_WALLABAG_RELEASE
49``` 42```
50 43
51- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new) by targetting the `release-$LAST_WALLABAG_RELEASE` branch. You have to upload the package (generated previously). 44- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new) by targetting the `master` branch. You have to upload the package (generated previously).
52- Close the previously created pull request (**DO NOT MERGE IT**) and delete the `release-$LAST_WALLABAG_RELEASE` branch. 45- Update the URL shortener (used on `wllbg.org` to update links like `https://wllbg.org/latest-v2-package` or `http://wllbg.org/latest-v2`)
53- Update the URL shortener (used on `wllbg.org` to generate links like `https://wllbg.org/latest-v2-package` or `http://wllbg.org/latest-v2`)
54- Update Dockerfile https://github.com/wallabag/docker (and create a new tag) 46- Update Dockerfile https://github.com/wallabag/docker (and create a new tag)
55- Update wallabag.org website (downloads, MD5 sum, releases and new blog post) 47- Update wallabag.org website (downloads, MD5 sum, releases and new blog post)
56- Put the next patch version suffixed with `-dev` in `app/config/wallabag.yml` (`wallabag_core.version`) 48- Put the next patch version suffixed with `-dev` in `app/config/wallabag.yml` (`wallabag_core.version`)
57- Drink a :beer:! 49- Drink a :beer:!
58
59### `composer.lock`
60A release tag must contain a `composer.lock` file. It sets which dependencies were available at the time a release was done,
61making it easier to fix issues after the release. It also speeds up `composer install` on stable versions a LOT, by skipping the
62dependencies resolution part.
63
64Since `composer.lock` is ignored by default, either it must be removed from `.gitignore` _in the release branch_,
65or it must be added using `git add --force composer.lock`.
66
67### Target PHP version
68`composer.lock` is _always_ built for a particular version, by default the one it is generated (with `composer update`).
69
70If the PHP version used to generate the .lock isn't a widely available one (like PHP 7), a more common one should
71be locally specified in `composer.lock`:
72
73```json
74 "config": {
75 "platform": {
76 "php": "5.5.9",
77 "ext-something": "4.0"
78 }
79 }
80```