diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..c3791795d4f16fda4d847aa8f4cfa6ffaa660940 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,16 @@ +FROM node:8.10.0-alpine + +LABEL maintainer="Rhys Arkins <rhys@arkins.net>" +LABEL name="renovate" + +WORKDIR /src + +COPY package.json . +COPY yarn.lock . +RUN yarn install --production && yarn cache clean +COPY lib ./lib +RUN chown -R node:node /src +USER node + +ENTRYPOINT ["node", "/src/lib/renovate.js"] +CMD ["--help"] diff --git a/docker/hooks/post_push b/docker/hooks/post_push new file mode 100644 index 0000000000000000000000000000000000000000..22b6fe195ff97c4e2c06ebfab48d4906ec4977eb --- /dev/null +++ b/docker/hooks/post_push @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +SEMVER_REGEX="^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$" + +if ! [[ "$CACHE_TAG" =~ $SEMVER_REGEX ]]; then + echo Not a semver tag - skipping + exit +fi + +major=${BASH_REMATCH[1]} +minor=${BASH_REMATCH[2]} + +# Tag and push image for each additional tag +for tag in {"$major","${major}.${minor}"}; do + echo "Tagging ${DOCKER_REPO}:${tag}" + docker tag $IMAGE_NAME ${DOCKER_REPO}:${tag} + docker push ${DOCKER_REPO}:${tag} +done diff --git a/docker/hooks/readme.md b/docker/hooks/readme.md new file mode 100644 index 0000000000000000000000000000000000000000..2454928072aab7d3276fc86ea4b4bb2a6ca37a67 --- /dev/null +++ b/docker/hooks/readme.md @@ -0,0 +1,5 @@ +# Docker Hub hooks + +This directory is required in order to provide a post-push hook to Docker Hub Autobuild. + +See https://docs.docker.com/docker-cloud/builds/advanced/#custom-build-phase-hooks for details.