matrix-service-synapse/.woodpecker/main.yml
Michael Balsillie 3726fb4575
Some checks failed
ci/woodpecker/push/main Pipeline failed
shell test
2022-08-21 22:50:01 +12:00

62 lines
1.7 KiB
YAML

variables:
&vars
export REGISTRY=code.balsillie.net && \
export REGISTRY_USER=michael && \
export ORGANIZATION=containers && \
export SOURCE_ORGANIZATION=mirrors && \
export REPO=matrix-service-synapse && \
export BUILD_ARGS="PYTHON_VERSION=3.10" && \
export DOCKERFILE="docker/Dockerfile" && \
export CONTEXT=.
workspace:
base: /git
path: pipeline
clone:
git:
image: woodpeckerci/plugin-git
pipeline:
check-tag:
image: debian:11-slim
pull: false
environment:
- SHELL=/bin/bash
commands:
- echo $SHELL
- if [[ $TAG =~ ^v1\...\..rc.$ ]]
- then
- echo "Tag ${TAG} appears to be a release candidate, terminating build." && exit 1
- elif [[ $TAG =~ ^v1\...\..$ ]]
- then
- echo "Tag ${TAG} appears to be a release tag, proceeding." && exit 0
- else
- echo "Unable to determine nature of tag, terminating build." && exit 1
- fi
clone-source:
image: docker:git
commands:
- *vars
- git clone "https://${REGISTRY}/${SOURCE_ORGANIZATION}/${REPO}.git" /git/$REPO
- cd /git/$REPO
- git checkout $TAG
docker-build:
image: docker:latest
secrets:
- source: REGISTRY_PASSWORD
target: REGISTRY_PASSWORD
commands:
- *vars
- export DOCKER_BUILDKIT=1
- cd /git/$REPO
- 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 $REGISTRY/$ORGANIZATION/$REPO:latest