Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,24 @@ Enhanced Docker image for <a href="http://radicale.org">Radicale</a>, the CalDAV

**Latest tag**: ![latest tag](https://img.shields.io/github/tag/tomsquest/docker-radicale.svg)

Starting from 2.1.11.3, this image has a manifest which allow you to just pull the image without supplying the
architecture. The command `docker pull tomsquest/docker-radicale` should pull the correct image.

Else, the image is also tagged with this scheme:

Version number = Architecture + '.' + Radicale version + '.' + increment number

Example: those tags were created for Radicale 2.1.10:
- `tomsquest/docker-radicale:i386.2.1.10.0`
- `tomsquest/docker-radicale:amd64.2.1.10.0`
- `tomsquest/docker-radicale:arm.2.1.10.0`
- `tomsquest/docker-radicale:aarch64.2.1.10.0`
Example: those tags were created for Radicale 2.1.11:
- `tomsquest/docker-radicale:386.2.1.11.0`
- `tomsquest/docker-radicale:amd64.2.1.11.0`
- `tomsquest/docker-radicale:arm.2.1.11.0`
- `tomsquest/docker-radicale:arm64.2.1.11.0`

The last number is ours, incremented on changes. For example, 2.1.10.**2** made the /config readonly (this is specific to this image).
The last number is ours, incremented on changes. For example, 2.1.11.**2** made the /config readonly (this is
specific to
this image).

Additionally, Docker Hub automatically build and publish this image as `tomsquest/docker-radicale` (which by default is `amd64`).
Additionally, Docker Hub automatically build and publish this image as `tomsquest/docker-radicale`.

## Running

Expand Down Expand Up @@ -172,7 +179,7 @@ To run the tests (your user will need to be a member of the `docker` group)

## Releasing

Create a Git tag, eg. 2.1.10.0, push it and Travis will build the images and publish them on Docker hub.
Create a Git tag, eg. 2.1.11.0, push it and Travis will build the images and publish them on Docker hub.

## Contributors

Expand Down
12 changes: 6 additions & 6 deletions ci/build-push.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set -eo pipefail
# Require to build docker image of other architectures
docker run --rm --privileged multiarch/qemu-user-static:register --reset

archs=(amd64 i386 arm aarch64)
archs=(amd64 386 arm arm64)

if [ -z "$TRAVIS_TAG" ]
then
Expand All @@ -22,7 +22,7 @@ do
amd64 ) base_image="balenalib/amd64-alpine:3.10" ;;
i386 ) base_image="balenalib/i386-alpine:3.10" ;;
arm ) base_image="balenalib/armv7hf-alpine:3.10" ;;
aarch64 ) base_image="balenalib/aarch64-alpine:3.10" ;;
arm64 ) base_image="balenalib/aarch64-alpine:3.10" ;;
esac

sed "1cFROM $base_image" Dockerfile > "Dockerfile.$arch"
Expand All @@ -40,17 +40,17 @@ export DOCKER_CLI_EXPERIMENTAL=enabled

docker manifest create tomsquest/docker-radicale:$DOCKER_TAG \
tomsquest/docker-radicale:amd64$DOCKERFILE_SUFFIX \
tomsquest/docker-radicale:i386$DOCKERFILE_SUFFIX \
tomsquest/docker-radicale:386$DOCKERFILE_SUFFIX \
tomsquest/docker-radicale:arm$DOCKERFILE_SUFFIX \
tomsquest/docker-radicale:aarch64$DOCKERFILE_SUFFIX
tomsquest/docker-radicale:arm64$DOCKERFILE_SUFFIX

docker manifest annotate tomsquest/docker-radicale:$DOCKER_TAG \
tomsquest/docker-radicale:amd64$DOCKERFILE_SUFFIX --arch amd64
docker manifest annotate tomsquest/docker-radicale:$DOCKER_TAG \
tomsquest/docker-radicale:i386$DOCKERFILE_SUFFIX --arch 386
tomsquest/docker-radicale:386$DOCKERFILE_SUFFIX --arch 386
docker manifest annotate tomsquest/docker-radicale:$DOCKER_TAG \
tomsquest/docker-radicale:arm$DOCKERFILE_SUFFIX --arch arm
docker manifest annotate tomsquest/docker-radicale:$DOCKER_TAG \
tomsquest/docker-radicale:aarch64$DOCKERFILE_SUFFIX --arch arm64
tomsquest/docker-radicale:arm64$DOCKERFILE_SUFFIX --arch arm64

docker manifest push tomsquest/docker-radicale:$DOCKER_TAG
4 changes: 2 additions & 2 deletions test_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
@pytest.fixture(scope='session')
def host(request):
subprocess.check_call(
['docker', 'build', '-t', 'radicale-under-test', '--build-arg', 'VERSION=2.1.0', '--build-arg', 'UID=6666',
['docker', 'build', '-t', 'radicale-under-test', '--build-arg', 'VERSION=2.1.11', '--build-arg', 'UID=6666',
'--build-arg', 'GID=7777', '.'])
docker_id = subprocess.check_output(['docker', 'run', '-d', 'radicale-under-test']).decode().strip()

Expand All @@ -25,7 +25,7 @@ def test_port(host):
assert host.socket('tcp://0.0.0.0:5232').is_listening

def test_version(host):
assert host.check_output('radicale --version') == '2.1.0'
assert host.check_output('radicale --version') == '2.1.11'

def test_user(host):
user = 'radicale'
Expand Down