Skip to content

Commit 42598a3

Browse files
committed
Merge branch 'release-1.4.0' into stable
2 parents 5ca5d34 + 0e78c7e commit 42598a3

File tree

5 files changed

+122
-23
lines changed

5 files changed

+122
-23
lines changed

.travis.yml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
language: bash
2+
3+
services:
4+
- docker
5+
env:
6+
global:
7+
- NAME="osixia/roundcube"
8+
- VERSION="${TRAVIS_BRANCH}-dev"
9+
matrix:
10+
- TARGET_ARCH=amd64 QEMU_ARCH=x86_64
11+
- TARGET_ARCH=arm32v7 QEMU_ARCH=arm
12+
- TARGET_ARCH=arm64v8 QEMU_ARCH=aarch64
13+
14+
addons:
15+
apt:
16+
# The docker manifest command was added in docker-ee version 18.x
17+
# So update our current installation and we also have to enable the experimental features.
18+
sources:
19+
- sourceline: "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
20+
key_url: "https://download.docker.com/linux/ubuntu/gpg"
21+
packages:
22+
- docker-ce
23+
24+
before_install:
25+
- docker --version
26+
- mkdir $HOME/.docker
27+
- 'echo "{" > $HOME/.docker/config.json'
28+
- 'echo " \"experimental\": \"enabled\"" >> $HOME/.docker/config.json'
29+
- 'echo "}" >> $HOME/.docker/config.json'
30+
- sudo service docker restart
31+
32+
install:
33+
# For cross buidling our images
34+
# This is necessary because travis-ci.org has only x86_64 machines.
35+
# If travis-ci.org gets native arm builds, probably this step is not
36+
# necessary any more.
37+
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
38+
# Bats is necessary for the UT
39+
- curl -o bats.tar.gz -SL https://github.com/bats-core/bats-core/archive/v1.1.0.tar.gz
40+
- mkdir bats-core && tar -xf bats.tar.gz -C bats-core --strip-components=1
41+
- cd bats-core/
42+
- sudo ./install.sh /usr/local
43+
- cd ..
44+
45+
before_script:
46+
# Set baseimage.
47+
- sed -i -e "s/FROM \(.*\)/FROM \1-${TARGET_ARCH}/g" image/Dockerfile;
48+
- cat image/Dockerfile;
49+
# If this is a tag then change the VERSION variable to only have the
50+
# tag name and not also the commit hash.
51+
- if [ -n "$TRAVIS_TAG" ]; then
52+
VERSION=$(echo "${TRAVIS_TAG}" | sed -e 's/\(.*\)[-v]\(.*\)/\1\2/g');
53+
fi
54+
- if [ "${TRAVIS_BRANCH}" == 'stable' ]; then
55+
VERSION="stable";
56+
fi
57+
58+
script:
59+
- make build-nocache NAME=${NAME} VERSION=${VERSION}-${TARGET_ARCH}
60+
# Run the test and if the test fails mark the build as failed.
61+
- make test NAME=${NAME} VERSION=${VERSION}-${TARGET_ARCH}
62+
63+
before_deploy:
64+
- docker run -d --name test_image ${NAME}:${VERSION}-${TARGET_ARCH} sleep 10
65+
- sleep 5
66+
- sudo docker ps | grep -q test_image
67+
# To have `DOCKER_USER` and `DOCKER_PASS`
68+
# use `travis env set`.
69+
- docker login -u "$DOCKER_USER" -p "$DOCKER_PASS";
70+
- make tag NAME=${NAME} VERSION=${VERSION}-${TARGET_ARCH}
71+
72+
deploy:
73+
provider: script
74+
on:
75+
all_branches: true
76+
script: make push NAME=${NAME} VERSION=${VERSION}-${TARGET_ARCH}
77+
78+
jobs:
79+
include:
80+
- stage: Manifest creation
81+
install: skip
82+
script: skip
83+
after_deploy:
84+
- docker login -u "$DOCKER_USER" -p "$DOCKER_PASS";
85+
- docker manifest create ${NAME}:${VERSION} ${NAME}:${VERSION}-amd64 ${NAME}:${VERSION}-arm32v7 ${NAME}:${VERSION}-arm64v8;
86+
docker manifest annotate ${NAME}:${VERSION} ${NAME}:${VERSION}-amd64 --os linux --arch amd64;
87+
docker manifest annotate ${NAME}:${VERSION} ${NAME}:${VERSION}-arm32v7 --os linux --arch arm --variant v7;
88+
docker manifest annotate ${NAME}:${VERSION} ${NAME}:${VERSION}-arm64v8 --os linux --arch arm64 --variant v8;
89+
90+
# The latest tag is coming from the stable branch of the repo
91+
- if [ "${TRAVIS_BRANCH}" == 'stable' ]; then
92+
docker manifest create ${NAME}:latest ${NAME}:${VERSION}-amd64 ${NAME}:${VERSION}-arm32v7 ${NAME}:${VERSION}-arm64v8;
93+
docker manifest annotate ${NAME}:latest ${NAME}:${VERSION}-amd64 --os linux --arch amd64;
94+
docker manifest annotate ${NAME}:latest ${NAME}:${VERSION}-arm32v7 --os linux --arch arm --variant v7;
95+
docker manifest annotate ${NAME}:latest ${NAME}:${VERSION}-arm64v8 --os linux --arch arm64 --variant v8;
96+
fi
97+
98+
- docker manifest push ${NAME}:${VERSION};
99+
if [ "${TRAVIS_BRANCH}" == 'stable' ]; then
100+
docker manifest push ${NAME}:latest;
101+
fi

CHANGELOG.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,27 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project follows roundcube versioning.
66

7-
## [1.3.10] - 2018-08-29
7+
## [1.4.0] - 2019-11-10
8+
## Added
9+
- Multiarch support
10+
11+
### Changed
12+
- Upgrade roundcube version to 1.4.0
13+
14+
## [1.3.10] - 2019-08-29
815
### Changed
916
- Upgrade roundcube version to 1.3.10
1017
- Upgrade baseimage to web-baseimage:1.2.0
1118

12-
## [1.3.9] - 2018-04-05
19+
## [1.3.9] - 2019-04-07
1320
### Changed
1421
- Upgrade roundcube version to 1.3.9
1522
- Upgrade baseimage to web-baseimage:1.1.2
1623

1724
### Fixed
1825
- Cron log with /usr/bin/logger
1926

20-
## [1.3.8] - 2018-11-08
27+
## [1.3.8] - 2019-04-07
2128
### Changed
2229
- Upgrade roundcube version to 1.3.8
2330

@@ -111,6 +118,8 @@ and this project follows roundcube versioning.
111118
## 0.1.0 - 2015-12-07
112119
Initial release
113120

121+
[1.4.0]: https://github.com/osixia/docker-roundcube/compare/v1.3.10...v1.4.0
122+
[1.3.10]: https://github.com/osixia/docker-roundcube/compare/v1.3.9...v1.3.10
114123
[1.3.9]: https://github.com/osixia/docker-roundcube/compare/v1.3.8...v1.3.9
115124
[1.3.8]: https://github.com/osixia/docker-roundcube/compare/v1.3.7...v1.3.8
116125
[1.3.7]: https://github.com/osixia/docker-roundcube/compare/v1.3.6...v1.3.7

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
NAME = osixia/roundcube
2-
VERSION = 1.3.10
2+
VERSION = 1.4.0
33

44
.PHONY: build build-nocache test tag-latest push push-latest release git-tag-version
55

@@ -12,6 +12,9 @@ build-nocache:
1212
test:
1313
env NAME=$(NAME) VERSION=$(VERSION) bats test/test.bats
1414

15+
tag:
16+
docker tag $(NAME):$(VERSION) $(NAME):$(VERSION)
17+
1518
tag-latest:
1619
docker tag $(NAME):$(VERSION) $(NAME):latest
1720

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
![Docker Stars](https://img.shields.io/docker/stars/osixia/roundcube.svg)
55
![](https://images.microbadger.com/badges/image/osixia/roundcube.svg)
66

7-
Latest release: 1.3.10 - roundcube 1.3.9 - [Changelog](CHANGELOG.md) | [Docker Hub](https://hub.docker.com/r/osixia/roundcube/) 
7+
Latest release: 1.4.0 - roundcube 1.4.0 - [Changelog](CHANGELOG.md) | [Docker Hub](https://hub.docker.com/r/osixia/roundcube/) 
88

99
**A docker image to run roundcube.**
1010

image/Dockerfile

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,12 @@
1-
FROM osixia/web-baseimage:1.2.0
1+
FROM osixia/web-baseimage:release-1.2.0-dev
22

33
# roundcube version
4-
ARG ROUNDCUBE_VERSION=1.3.10
5-
ARG ROUNDCUBE_SHA256=69fe11550a0f5711020ecd55c6ad36394580800a68d43bb69ecedc91f36ba8bf
6-
7-
# MariaDB version
8-
ARG MARIADB_MAJOR=10.3
4+
ARG ROUNDCUBE_VERSION=1.4.0
5+
ARG ROUNDCUBE_SHA256=6bd2a2ac05d6575c290c784e1267090550c56c92f65b66f0b155832fc860ef2c
96

107
# Install apache2 and php7.3-fpm using osixia/baseimage utils
118
# Caution: /container/tool/install-service-available arguments order is important
129
# php7.3-fpm install will detect apache2 and configure it
13-
14-
# Add MariaDB repository
15-
RUN apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 \
16-
&& echo "deb http://ftp.igh.cnrs.fr/pub/mariadb/repo/$MARIADB_MAJOR/debian stretch main" > /etc/apt/sources.list.d/mariadb.list \
17-
&& { \
18-
echo 'Package: *'; \
19-
echo 'Pin: release o=MariaDB'; \
20-
echo 'Pin-Priority: 999'; \
21-
} > /etc/apt/preferences.d/mariadb
22-
23-
2410
# Download, check integrity and unzip roundcube to /var/www/roundcube_bootstrap
2511
RUN apt-get update \
2612
&& /container/tool/add-multiple-process-stack \
@@ -31,7 +17,7 @@ RUN apt-get update \
3117
aspell-fr \
3218
ca-certificates \
3319
curl \
34-
mariadb-client-$MARIADB_MAJOR \
20+
mariadb-client \
3521
php-enchant \
3622
php-gd \
3723
php-intl \

0 commit comments

Comments
 (0)