wrote pipeline file
This commit is contained in:
		@@ -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:
 | 
			
		||||
  matrix-service-synapse:
 | 
			
		||||
  check-tag:
 | 
			
		||||
    image: debian:11-slim
 | 
			
		||||
    pull: true
 | 
			
		||||
    commands:
 | 
			
		||||
      - echo "triggered"
 | 
			
		||||
      - echo $TAG
 | 
			
		||||
      - 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
 | 
			
		||||
		Reference in New Issue
	
	Block a user