Skip to content

Commit

Permalink
Test and publish with CDP (#512)
Browse files Browse the repository at this point in the history
- Run unit tests in CDP
- Publish new versions of senza with CDP
  • Loading branch information
jmcs authored Jul 3, 2018
1 parent d742b04 commit 686167d
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 34 deletions.
14 changes: 14 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Hack to upload version to Pypi

FROM registry.opensource.zalan.do/stups/python AS builder
ARG VERSION
RUN apt-get update && \
apt-get install -q -y python3-pip && \
pip3 install -U tox setuptools
COPY . /build
WORKDIR /build
RUN sed -i "s/__version__ = .*/__version__ = '${VERSION}'/" */__init__.py
RUN python3 setup.py sdist bdist_wheel

FROM pierone.stups.zalan.do/teapot/python-cdp-release:latest
COPY --from=builder /build/dist /pydist
51 changes: 51 additions & 0 deletions delivery.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
version: "2017-09-20"
notifications:
hipchat:
rooms:
- cdp-notifications-test
pipeline:
- id: build
type: script
overlay: ci/python
commands:
- desc: "Install dependencies"
cmd: pip install -r requirements.txt
- desc: "Run Tests"
cmd: python3 setup.py test
- desc: "Check code style"
cmd: python3 setup.py flake8
- desc: "Build docker image that will upload package"
cmd: |
VERSION=$(./next-version)
if [[ -z "${CDP_PULL_REQUEST_NUMBER}" ]]; then
DOCKER_IMAGE="pierone.stups.zalan.do/automata/senza-release:${CDP_TARGET_REPOSITORY_COUNTER}"
else
DOCKER_IMAGE="pierone.stups.zalan.do/automata/senza-release:${CDP_TARGET_REPOSITORY_COUNTER}-snapshot"
fi
docker build --build-arg VERSION="$VERSION" -t "$DOCKER_IMAGE" .
if [[ -z "${CDP_PULL_REQUEST_NUMBER}" ]]; then
docker push "$DOCKER_IMAGE"
git gh-tag "$VERSION"
fi
- id: release
type: process
desc: Release to TestPyPI
target: stups
process: microservice_standard_deployment
config:
apply_permanent_resources:
image: pierone.stups.zalan.do/automata/senza-release:#{CDP_TARGET_REPOSITORY_COUNTER}
env:
- name: USERNAME
valueFrom:
secretKeyRef:
name: teapot-pypi-credentials
key: username
- name: PASSWORD
valueFrom:
secretKeyRef:
name: teapot-pypi-credentials
key: password
30 changes: 30 additions & 0 deletions next-version
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/usr/bin/env python3

import subprocess

MAJOR_VERSION = 2
MINOR_VERSION = 1


def get_latest_version() -> (int, int, int):
"""
Gets latest version based on Git Tags.
"""
proc = subprocess.run(['git', 'tag'], stdout=subprocess.PIPE)

versions = sorted(map(lambda version: tuple(int(sub)
for sub
in version.split('.')),
proc.stdout.decode().splitlines()))
return versions[-1]


if __name__ == '__main__':
major, minor, build = get_latest_version()

if major != MAJOR_VERSION or minor != MINOR_VERSION:
new_build = 0
else:
new_build = build + 1

print(f"{MAJOR_VERSION}.{MINOR_VERSION}.{new_build}")
34 changes: 0 additions & 34 deletions release.sh

This file was deleted.

0 comments on commit 686167d

Please sign in to comment.