variables: &vars - REGISTRY=code.balsillie.net - REGISTRY_USER=michael - ORGANIZATION=containers - SOURCE_ORGANIZATION=mirrors - REPO=matrix-service-synapse - BUILD_ARGS=PYTHON_VERSION=3.10 - DOCKERFILE=docker/Dockerfile - CONTEXT=. - WATCHTOWER_HOST=watchtower.balsillie.net workspace: base: /git path: pipeline clone: git: image: woodpeckerci/plugin-git pipeline: check-tag: image: debian:11-slim pull: true commands: - /bin/bash /git/pipeline/check-tag.sh clone-source: image: docker:git environment: *vars commands: - git clone "https://$${REGISTRY}/$${SOURCE_ORGANIZATION}/$${REPO}.git" /git/$${REPO} - cd /git/$${REPO} - pwd - git checkout ${TAG} - ls docker-build: image: docker:latest secrets: - source: REGISTRY_PASSWORD target: REGISTRY_PASSWORD volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - REGISTRY=code.balsillie.net - REGISTRY_USER=michael - ORGANIZATION=containers - REPO=matrix-service-synapse - BUILD_ARGS=PYTHON_VERSION=3.10 - DOCKERFILE=docker/Dockerfile - CONTEXT=. commands: - export DOCKER_BUILDKIT=1 - cd /git/$${REPO} - pwd - ls - echo $REGISTRY_PASSWORD | docker login $REGISTRY -u $REGISTRY_USER --password-stdin - docker build -t $REGISTRY/$ORGANIZATION/$REPO:$TAG -t $REGISTRY/$ORGANIZATION/$REPO:$(date +%F) -t $REGISTRY/$ORGANIZATION/$REPO:latest --pull --build-arg $${BUILD_ARGS} -f $${DOCKERFILE} $${CONTEXT} - docker push -a $REGISTRY/$ORGANIZATION/$REPO notify-watchtower: image: curlimages/curl pull: false environment: *vars secrets: - source: WATCHTOWER_HTTP_API_TOKEN target: WATCHTOWER_HTTP_API_TOKEN commands: - /bin/sh /git/pipeline/notify-watchtower.sh