Skip to content

Commit 8543245

Browse files
authored
Merge pull request docker-library#10408 from asbiin/monica-v3.1.0
Update Monica to v3.1.1
2 parents 95aa60c + 469c677 commit 8543245

File tree

7 files changed

+139
-21
lines changed

7 files changed

+139
-21
lines changed

library/monica

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22
Maintainers: Alexis Saettler <[email protected]> (@asbiin)
33
GitRepo: https://github.com/monicahq/docker.git
44

5-
Tags: 3.0.1-apache, 3.0-apache, 3-apache, apache, 3.0.1, 3.0, 3, latest
5+
Tags: 3.1.1-apache, 3.1-apache, 3-apache, apache, 3.1.1, 3.1, 3, latest
66
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
77
Directory: apache
8-
GitCommit: 8e338da17d09d8b9a0b7b8c4aa734ecd400bca07
8+
GitCommit: 00a09024b1012db35f96af9c379829663b814853
99

10-
Tags: 3.0.1-fpm, 3.0-fpm, 3-fpm, fpm
10+
Tags: 3.1.1-fpm, 3.1-fpm, 3-fpm, fpm
1111
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
1212
Directory: fpm
13-
GitCommit: 8e338da17d09d8b9a0b7b8c4aa734ecd400bca07
13+
GitCommit: 00a09024b1012db35f96af9c379829663b814853
1414

15-
Tags: 3.0.1-fpm-alpine, 3.0-fpm-alpine, 3-fpm-alpine, fpm-alpine
15+
Tags: 3.1.1-fpm-alpine, 3.1-fpm-alpine, 3-fpm-alpine, fpm-alpine
1616
Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
1717
Directory: fpm-alpine
18-
GitCommit: 8e338da17d09d8b9a0b7b8c4aa734ecd400bca07
18+
GitCommit: 00a09024b1012db35f96af9c379829663b814853

test/config.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,8 @@ imageTests+=(
129129
'
130130
[monica]='
131131
monica-cli
132+
monica-cli-mysql8
133+
monica-cli-mariadb10
132134
'
133135
[monica:apache]='
134136
monica-apache-run

test/tests/monica-apache-run/run.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
55

66
image="$1"
77

8-
mysqlImage='mysql:5.7'
9-
# ensure the mysqlImage is ready and available
10-
if ! docker image inspect "$mysqlImage" &> /dev/null; then
11-
docker pull "$mysqlImage" > /dev/null
8+
dbImage='mysql:8.0'
9+
# ensure the dbImage is ready and available
10+
if ! docker image inspect "$dbImage" &> /dev/null; then
11+
docker pull "$dbImage" > /dev/null
1212
fi
1313

1414
# Create an instance of the container-under-test
@@ -17,7 +17,7 @@ mysqlCid="$(docker run -d \
1717
-e MYSQL_DATABASE=monica \
1818
-e MYSQL_USER=homestead \
1919
-e MYSQL_PASSWORD=secret \
20-
"$mysqlImage")"
20+
"$dbImage")"
2121
trap "docker rm -vf $mysqlCid > /dev/null" EXIT
2222

2323
cid="$(docker run -d \
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/bin/bash
2+
set -eo pipefail
3+
4+
dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
5+
6+
image="$1"
7+
8+
dbImage='mariadb:10'
9+
# ensure the dbImage is ready and available
10+
if ! docker image inspect "$dbImage" &> /dev/null; then
11+
docker pull "$dbImage" > /dev/null
12+
fi
13+
14+
# Create an instance of the container-under-test
15+
mysqlCid="$(docker run -d \
16+
-e MYSQL_RANDOM_ROOT_PASSWORD=true \
17+
-e MYSQL_DATABASE=monica \
18+
-e MYSQL_USER=homestead \
19+
-e MYSQL_PASSWORD=secret \
20+
"$dbImage")"
21+
trap "docker rm -vf $mysqlCid > /dev/null" EXIT
22+
23+
cid="$(docker run -d \
24+
--link "$mysqlCid":mysql \
25+
-e DB_HOST=mysql \
26+
"$image")"
27+
trap "docker rm -vf $cid $mysqlCid > /dev/null" EXIT
28+
29+
_artisan() {
30+
docker exec "$cid" php artisan "$@"
31+
}
32+
33+
# returns success when all database migrations are finished
34+
_migrate_done() {
35+
local status
36+
status="$(_artisan migrate:status)"
37+
if grep -q ' Yes ' <<<"$status" && ! grep -q ' No ' <<<"$status"; then
38+
return 0
39+
fi
40+
return 1
41+
}
42+
43+
# check artisan command for specific output; print and error when not found
44+
_artisan_test() {
45+
local match="$1"; shift
46+
output="$(_artisan "$@")"
47+
if ! grep -iq "$match" <<<"$output"; then
48+
echo "Match: '$match' not found in: $output"
49+
return 1
50+
fi
51+
}
52+
53+
# Give some time to install
54+
. "$dir/../../retry.sh" --tries 30 '_migrate_done'
55+
56+
# Check if installation is complete
57+
_artisan monica:getversion > /dev/null
58+
. "$dir/../../retry.sh" --tries 5 -- _artisan_test 'No scheduled commands are ready to run.' schedule:run
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/bin/bash
2+
set -eo pipefail
3+
4+
dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
5+
6+
image="$1"
7+
8+
dbImage='mysql:8.0'
9+
# ensure the dbImage is ready and available
10+
if ! docker image inspect "$dbImage" &> /dev/null; then
11+
docker pull "$dbImage" > /dev/null
12+
fi
13+
14+
# Create an instance of the container-under-test
15+
mysqlCid="$(docker run -d \
16+
-e MYSQL_RANDOM_ROOT_PASSWORD=true \
17+
-e MYSQL_DATABASE=monica \
18+
-e MYSQL_USER=homestead \
19+
-e MYSQL_PASSWORD=secret \
20+
"$dbImage")"
21+
trap "docker rm -vf $mysqlCid > /dev/null" EXIT
22+
23+
cid="$(docker run -d \
24+
--link "$mysqlCid":mysql \
25+
-e DB_HOST=mysql \
26+
"$image")"
27+
trap "docker rm -vf $cid $mysqlCid > /dev/null" EXIT
28+
29+
_artisan() {
30+
docker exec "$cid" php artisan "$@"
31+
}
32+
33+
# returns success when all database migrations are finished
34+
_migrate_done() {
35+
local status
36+
status="$(_artisan migrate:status)"
37+
if grep -q ' Yes ' <<<"$status" && ! grep -q ' No ' <<<"$status"; then
38+
return 0
39+
fi
40+
return 1
41+
}
42+
43+
# check artisan command for specific output; print and error when not found
44+
_artisan_test() {
45+
local match="$1"; shift
46+
output="$(_artisan "$@")"
47+
if ! grep -iq "$match" <<<"$output"; then
48+
echo "Match: '$match' not found in: $output"
49+
return 1
50+
fi
51+
}
52+
53+
# Give some time to install
54+
. "$dir/../../retry.sh" --tries 30 '_migrate_done'
55+
56+
# Check if installation is complete
57+
_artisan monica:getversion > /dev/null
58+
. "$dir/../../retry.sh" --tries 5 -- _artisan_test 'No scheduled commands are ready to run.' schedule:run

test/tests/monica-cli/run.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
55

66
image="$1"
77

8-
mysqlImage='mysql:5.7'
9-
# ensure the mysqlImage is ready and available
10-
if ! docker image inspect "$mysqlImage" &> /dev/null; then
11-
docker pull "$mysqlImage" > /dev/null
8+
dbImage='mysql:5.7'
9+
# ensure the dbImage is ready and available
10+
if ! docker image inspect "$dbImage" &> /dev/null; then
11+
docker pull "$dbImage" > /dev/null
1212
fi
1313

1414
# Create an instance of the container-under-test
@@ -17,7 +17,7 @@ mysqlCid="$(docker run -d \
1717
-e MYSQL_DATABASE=monica \
1818
-e MYSQL_USER=homestead \
1919
-e MYSQL_PASSWORD=secret \
20-
"$mysqlImage")"
20+
"$dbImage")"
2121
trap "docker rm -vf $mysqlCid > /dev/null" EXIT
2222

2323
cid="$(docker run -d \

test/tests/monica-fpm-run/run.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ RUN set -x && apt-get update && apt-get install -y libfcgi0ldbl && rm -rf /var/l
1515
ENTRYPOINT ["cgi-fcgi"]
1616
EOF
1717

18-
mysqlImage='mysql:5.7'
19-
# ensure the mysqlImage is ready and available
20-
if ! docker image inspect "$mysqlImage" &> /dev/null; then
21-
docker pull "$mysqlImage" > /dev/null
18+
dbImage='mysql:8.0'
19+
# ensure the dbImage is ready and available
20+
if ! docker image inspect "$dbImage" &> /dev/null; then
21+
docker pull "$dbImage" > /dev/null
2222
fi
2323

2424
# Create an instance of the container-under-test
@@ -27,7 +27,7 @@ mysqlCid="$(docker run -d \
2727
-e MYSQL_DATABASE=monica \
2828
-e MYSQL_USER=homestead \
2929
-e MYSQL_PASSWORD=secret \
30-
"$mysqlImage")"
30+
"$dbImage")"
3131
trap "docker rm -vf $mysqlCid > /dev/null" EXIT
3232

3333
cid="$(docker run -d \

0 commit comments

Comments
 (0)