Mercurial > kallithea
annotate scripts/dbmigrate-test @ 7044:eaf600434cf5
less: change markup and styling for the logo shown in the top left corner
Based on work by Dominik Ruf, but in this changeset, the goal is just to
improve markup and styling while keeping exactly the same look and feel. In
that process, it also fixes some browser specific issues that gave odd
spacing/positioning.
All styling (especially the logo image URL) is moved to CSS/LESS, using
background-image styling instead of an img tag.
The logo image is made a :before on the site branding text and will usually
have to align with this text, so we use inline-block to align to the baseline.
We set the right amount of negative margin-bottom so the image can go below the
baseline.
We use a "big enough" negative margin-top to allow the image to bleed outside
the line height and into the 12px top padding.
We assume the background image doesn't need cropping or panning and do thus not
set background-size, background-position, or background-repeat.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Mon, 27 Nov 2017 02:55:44 +0100 |
parents | 2c3d30095d5e |
children | 3158cf0dafb7 |
rev | line source |
---|---|
6025
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
1 #!/bin/sh -e |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
2 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
3 if [ $# -lt 2 ] || [ $# -gt 3 ]; then |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
4 cat >&2 <<EOD |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
5 usage: $0 CONFIG_FILE FROM_REV [TO_REV] |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
6 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
7 Runs a database migration from FROM_REV to TO_REV (default: current |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
8 working directory parent), using the specified CONFIG_FILE (.ini file). |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
9 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
10 Test is run using a clean Kallithea install, in a temporary virtual |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
11 environment. FROM_REV and (optional) TO_REV should be Mercurial revision |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
12 identifiers (e.g. changeset hash or a version number tag). The working |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
13 directory is not touched, but the database referenced in the config file |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
14 will be (re)created. |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
15 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
16 Only SQLite is available out of the box; for MySQL or PostgreSQL, set |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
17 the EXTRA environment variable to the required package(s), and it'll |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
18 be installed in the virtual environment. (E.g. EXTRA=MySQL-python or |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
19 EXTRA=psycopg2.) |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
20 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
21 The temporary directory is not removed, allowing follow-up examination |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
22 of the upgrade results. It is, however, created in /tmp by default, |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
23 which many Linux distributions automatically clean at regular intervals. |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
24 EOD |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
25 exit 1 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
26 fi |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
27 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
28 config_file=$(readlink -f "$1") |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
29 from_rev=$2 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
30 to_rev=$3 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
31 source_repo=$(dirname "$(dirname "$(readlink -f "$0")")") |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
32 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
33 announce() { |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
34 echo |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
35 echo "$1" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
36 echo |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
37 } |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
38 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
39 quiet_if_ok() ( |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
40 local output |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
41 local st |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
42 set +e |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
43 output=$("$@" < /dev/null 2>&1) |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
44 st=$? |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
45 if [ $st -ne 0 ]; then |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
46 echo "$output" >&2 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
47 echo "Command $@ returned exit status $st." >&2 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
48 exit 1 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
49 fi |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
50 ) |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
51 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
52 HG() { |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
53 "${HG:-hg}" --repository "$source_repo" "$@" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
54 } |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
55 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
56 # If upgrading to "current revision", warn if working directory is dirty. |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
57 if [ ! "$to_rev" ] && [ "$(HG status -mard)" ]; then |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
58 announce "Warning: Uncommitted changes in working directory will be ignored!" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
59 fi |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
60 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
61 from_rev_hash=$(HG id --id --rev "${from_rev:-.}") |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
62 to_rev_hash=$(HG id --id --rev "${to_rev:-.}") |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
63 temp=$(readlink -f "$(mktemp --tmpdir -d 'dbmigrate-test.XXXXXX')") |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
64 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
65 cat <<EOD |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
66 Config file: $config_file |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
67 EOD |
6214
f973b866fffc
Turbogears2 migration: use sqlalchemy.url iso sqlalchemy.db1.url
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents:
6025
diff
changeset
|
68 sed -n -e 's/^sqlalchemy\.url *= */Database URL: /p' "$config_file" |
6025
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
69 cat <<EOD |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
70 Working dir: $temp |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
71 Repository: $source_repo |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
72 Upgrade from: $from_rev_hash (${from_rev:-current}) |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
73 Upgrade to: $to_rev_hash (${to_rev:-current}) |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
74 Extra packages: ${EXTRA:-(none)} |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
75 EOD |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
76 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
77 mkdir "$temp/repos" # empty |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
78 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
79 # Enable caching for old pip versions (this will cache the pip upgrade) |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
80 # Newer pip versions cache automatically, and don't use this variable. |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
81 if [ ! "$PIP_DOWNLOAD_CACHE" ]; then |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
82 export PIP_DOWNLOAD_CACHE=$HOME/.cache/pip/legacy |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
83 fi |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
84 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
85 install_kallithea() { |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
86 local prefix=$1 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
87 local rev=$2 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
88 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
89 announce "Installing Kallithea $rev in $prefix..." |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
90 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
91 "${VIRTUALENV:-virtualenv}" --quiet "$prefix-env" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
92 HG archive --rev "$rev" "$prefix" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
93 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
94 ( |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
95 cd "$prefix" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
96 . "$prefix-env/bin/activate" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
97 pip install --quiet --upgrade pip setuptools mercurial $EXTRA |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
98 pip install --quiet -e . |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
99 ) |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
100 } |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
101 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
102 install_kallithea "$temp/from" "$from_rev_hash" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
103 ( |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
104 cd "$temp/from" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
105 . "$temp/from-env/bin/activate" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
106 announce "Initializing database..." |
6554
2c3d30095d5e
gearbox: replace paster with something TurboGears2-ish that still works with the Pylons stack
Mads Kiilerich <madski@unity3d.com>
parents:
6370
diff
changeset
|
107 quiet_if_ok gearbox setup-db -c "$config_file" --repos="$temp/repos" --user=doe --email=doe@example.com --password=123456 --no-public-access --force-yes |
6025
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
108 alembic -c "$config_file" current -v |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
109 ) |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
110 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
111 install_kallithea "$temp/to" "$to_rev_hash" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
112 ( |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
113 cd "$temp/to" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
114 . "$temp/to-env/bin/activate" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
115 |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
116 announce "Commencing database upgrade from shown Alembic revision to head..." |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
117 alembic -c "$config_file" current -v |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
118 alembic -c "$config_file" upgrade head |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
119 announce "Upgrade complete, now at the shown Alembic revision:" |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
120 alembic -c "$config_file" current -v |
51b1af58589b
db: script to test database upgrades
Søren Løvborg <sorenl@unity3d.com>
parents:
diff
changeset
|
121 ) |