From 6546aca4a3a54ec61c3b43e84aa948efb1aeca95 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Wed, 29 May 2019 11:41:07 +0200 Subject: 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. --- RELEASE_PROCESS.md | 43 ++++++------------------------------------- 1 file changed, 6 insertions(+), 37 deletions(-) (limited to 'RELEASE_PROCESS.md') 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 git checkout master git pull origin master git checkout -b release-$LAST_WALLABAG_RELEASE -SYMFONY_ENV=prod composer up --no-dev -``` - -- Update `.travis.yml` file and replace the composer line with this one: - -```diff -script: -- - travis_wait bash composer install -o --no-interaction --no-progress --prefer-dist -+ - travis_wait bash composer update -o --no-interaction --no-progress --prefer-dist +composer up ``` - Then continue with these commands: ``` -git add --force composer.lock .travis.yml +git add composer.lock git commit -m "Release wallabag $LAST_WALLABAG_RELEASE" git push origin release-$LAST_WALLABAG_RELEASE ``` -- 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. +- Create a new pull request with this title `Release wallabag $LAST_WALLABAG_RELEASE`. This pull request is used to launch builds on Travis-CI. +- Once PR is green, merge it and delete the branch. - Run these command to create the package: ``` make release VERSION=$LAST_WALLABAG_RELEASE ``` -- [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). -- Close the previously created pull request (**DO NOT MERGE IT**) and delete the `release-$LAST_WALLABAG_RELEASE` branch. -- Update the URL shortener (used on `wllbg.org` to generate links like `https://wllbg.org/latest-v2-package` or `http://wllbg.org/latest-v2`) +- [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). +- Update the URL shortener (used on `wllbg.org` to update links like `https://wllbg.org/latest-v2-package` or `http://wllbg.org/latest-v2`) - Update Dockerfile https://github.com/wallabag/docker (and create a new tag) - Update wallabag.org website (downloads, MD5 sum, releases and new blog post) - Put the next patch version suffixed with `-dev` in `app/config/wallabag.yml` (`wallabag_core.version`) - Drink a :beer:! - -### `composer.lock` -A release tag must contain a `composer.lock` file. It sets which dependencies were available at the time a release was done, -making it easier to fix issues after the release. It also speeds up `composer install` on stable versions a LOT, by skipping the -dependencies resolution part. - -Since `composer.lock` is ignored by default, either it must be removed from `.gitignore` _in the release branch_, -or it must be added using `git add --force composer.lock`. - -### Target PHP version -`composer.lock` is _always_ built for a particular version, by default the one it is generated (with `composer update`). - -If the PHP version used to generate the .lock isn't a widely available one (like PHP 7), a more common one should -be locally specified in `composer.lock`: - -```json - "config": { - "platform": { - "php": "5.5.9", - "ext-something": "4.0" - } - } -``` -- cgit v1.2.3