wrote pipeline file

This commit is contained in:
Michael Balsillie 2022-08-21 22:21:11 +12:00
parent 13c72fe2f6
commit f8180eace1

View File

@ -1,6 +1,62 @@
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: pipeline:
matrix-service-synapse: check-tag:
image: debian:11-slim image: debian:11-slim
pull: true
commands: commands:
- echo "triggered" - if [[ $TAG =~ ^v1\...\..rc.$ ]]
- echo $TAG 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