]>
Commit | Line | Data |
---|---|---|
038469e7 | 1 | #!/usr/bin/env bash |
7c122534 NL |
2 | # You can execute this file to update wallabag |
3 | # eg: `sh update.sh prod` | |
4e7863c6 | 4 | |
c2bd272c JD |
5 | IGNORE_ROOT_ARG="--ignore-root-warning" |
6 | IGNORE_ROOT=0 | |
7 | ||
c01bda03 MT |
8 | while :; do |
9 | case $1 in | |
10 | $IGNORE_ROOT_ARG) IGNORE_ROOT=1 | |
11 | ;; | |
12 | *[a-zA-Z]) ENV=$1 | |
13 | ;; | |
14 | *) break | |
15 | ;; | |
16 | esac | |
17 | shift | |
18 | done | |
c2bd272c | 19 | |
23aa47d8 | 20 | # Abort running this script if root |
c2bd272c | 21 | if [ "$IGNORE_ROOT" -eq 0 ] && [ "$EUID" == "0" ]; then |
23aa47d8 | 22 | echo "Do not run this script as root!" >&2 |
c2bd272c | 23 | echo "Use $IGNORE_ROOT_ARG to ignore this error." >&2 |
23aa47d8 JD |
24 | exit 1 |
25 | fi | |
26 | ||
f3e71b5d SF |
27 | set -e |
28 | set -u | |
29 | ||
c4d9a8d6 | 30 | COMPOSER_COMMAND='composer' |
7c553a60 | 31 | REQUIRE_FILE='scripts/require.sh' |
c4d9a8d6 | 32 | |
7c553a60 MB |
33 | if [ ! -f "$REQUIRE_FILE" ]; then |
34 | echo "Cannot find $REQUIRE_FILE" | |
35 | exit 1 | |
36 | fi | |
37 | ||
38 | . "$REQUIRE_FILE" | |
9998c725 | 39 | |
7a82953b JB |
40 | # Check for wallabag .git folder |
41 | if [ ! -d .git ]; then | |
42 | echo "Can not update because wallabag wasn't installed using git (see https://doc.wallabag.org/en/admin/upgrade.html#upgrade-on-a-shared-hosting). Aborting."; | |
0a258f85 | 43 | exit 2; |
7a82953b JB |
44 | fi |
45 | ||
4e7863c6 NL |
46 | rm -rf var/cache/* |
47 | git fetch origin | |
48 | git fetch --tags | |
7d173a28 | 49 | TAG=$(git describe --tags $(git rev-list --tags --max-count=1)) |
84e3c36e | 50 | git checkout $TAG --force |
c4d9a8d6 | 51 | SYMFONY_ENV=$ENV $COMPOSER_COMMAND install --no-dev -o --prefer-dist |
c8cd1660 | 52 | php bin/console doctrine:migrations:migrate --no-interaction --env=$ENV |
4e7863c6 | 53 | php bin/console cache:clear --env=$ENV |