kind: pipeline name: test services: - name: couchdb image: couchdb:2.3 environment: COUCHDB_USER: admin COUCHDB_PASSWORD: password steps: - name: Run Tests image: python:3.6 environment: COUCH_URL: 'http://couchdb:5984' CODECOV_TOKEN: from_secret: CODECOV_TOKEN commands: # Install pre-requisites - pip install -r requirements-dev.txt # Wait for couch - until curl "$COUCH_URL" ; do sleep 1 ; done # Run tests - coverage run -m pytest - coverage report -m # Upload coverage report - pip install codecov - codecov # Perform linting checks - black --check src tests setup.py - flake8 --- kind: pipeline name: publish steps: - name: Update version (development) image: python:3.6 commands: - sed -i "s/.dev/.dev${DRONE_BUILD_NUMBER}/" src/humulus/_version.py when: event: exclude: - tag - name: Update version (release) image: python:3.6 commands: - sed -i "s/.dev//" src/humulus/_version.py when: event: - tag - name: Publish development docker image image: plugins/docker settings: username: from_secret: DOCKER_USERNAME password: from_secret: DOCKER_PASSWORD repo: shouptech/humulus tags: - ${DRONE_BUILD_NUMBER} when: event: exclude: - pull_request - name: Publish latest docker image image: plugins/docker settings: username: from_secret: DOCKER_USERNAME password: from_secret: DOCKER_PASSWORD repo: shouptech/humulus tags: - latest when: branch: - master event: exclude: - pull_request - name: Publish release docker image image: plugins/docker settings: username: from_secret: DOCKER_USERNAME password: from_secret: DOCKER_PASSWORD repo: shouptech/humulus tags: - ${DRONE_TAG} when: event: - tag depends_on: - test