kind: pipeline name: test-python3-latest workspace: base: /app path: . steps: - name: test image: python:3 commands: - python -V - make test - name: notify image: drillster/drone-email settings: host: from_secret: SMTP_HOST username: from_secret: SMTP_USER password: from_secret: SMTP_PASS from: drone@iamthefij.com when: status: [ changed, failure ] --- kind: pipeline name: test-python3.4 workspace: base: /app path: . steps: - name: test image: python:3.4 environment: TOXENV: py3 commands: - python -V - pip install tox - tox - name: notify image: drillster/drone-email settings: host: from_secret: SMTP_HOST username: from_secret: SMTP_USER password: from_secret: SMTP_PASS from: drone@iamthefij.com when: status: [ changed, failure ] --- kind: pipeline name: test-python3.5 workspace: base: /app path: . steps: - name: test image: python:3.5 environment: TOXENV: py3 commands: - python -V - pip install tox - tox - name: notify image: drillster/drone-email settings: host: from_secret: SMTP_HOST username: from_secret: SMTP_USER password: from_secret: SMTP_PASS from: drone@iamthefij.com when: status: [ changed, failure ] --- kind: pipeline name: test-python3.6 workspace: base: /app path: . steps: - name: test image: python:3.6 environment: TOXENV: py3 commands: - python -V - pip install tox - tox - name: notify image: drillster/drone-email settings: host: from_secret: SMTP_HOST username: from_secret: SMTP_USER password: from_secret: SMTP_PASS from: drone@iamthefij.com when: status: [ changed, failure ] --- kind: pipeline name: test-python3.7 workspace: base: /app path: . steps: - name: test image: python:3.7 environment: TOXENV: py3 commands: - python -V - pip install tox - tox - name: notify image: drillster/drone-email settings: host: from_secret: SMTP_HOST username: from_secret: SMTP_USER password: from_secret: SMTP_PASS from: drone@iamthefij.com when: status: [ changed, failure ] --- kind: pipeline name: test-pypy3-latest workspace: base: /app path: . steps: - name: test image: pypy:3 environment: TOXENV: pypy3 commands: - pypy3 -V - pip install tox - tox - name: notify image: drillster/drone-email settings: host: from_secret: SMTP_HOST username: from_secret: SMTP_USER password: from_secret: SMTP_PASS from: drone@iamthefij.com when: status: [ changed, failure ] --- kind: pipeline name: test-pypy3.6 workspace: base: /app path: . steps: - name: test image: pypy:3.6 environment: TOXENV: pypy3 commands: - pypy3 -V - pip install tox - tox - name: notify image: drillster/drone-email settings: host: from_secret: SMTP_HOST username: from_secret: SMTP_USER password: from_secret: SMTP_PASS from: drone@iamthefij.com when: status: [ changed, failure ] --- kind: pipeline name: tests depends_on: - test-python3-latest - test-python3.4 - test-python3.5 - test-python3.6 - test-python3.7 - test-pypy3-latest - test-pypy3.6 steps: [] --- kind: pipeline name: deploy-pypi trigger: event: - tag ref: - refs/heads/master - refs/tags/v* depends_on: - tests workspace: base: /app path: . steps: - name: push to test pypi image: python:3 commands: - make upload-test environment: TWINE_USERNAME: from_secret: PYPI_USERNAME TWINE_PASSWORD: from_secret: TEST_PYPI_PASSWORD - name: push to pypi image: python:3 commands: - make upload environment: TWINE_USERNAME: from_secret: PYPI_USERNAME TWINE_PASSWORD: from_secret: PYPI_PASSWORD when: event: [ tag ] - name: notify image: drillster/drone-email settings: host: from_secret: SMTP_HOST username: from_secret: SMTP_USER password: from_secret: SMTP_PASS from: drone@iamthefij.com --- kind: pipeline name: deploy-docker-amd64 depends_on: - tests trigger: event: - push - tag ref: - refs/heads/master - refs/tags/v* steps: - name: get qemu image: busybox commands: - sh ./get_qemu.sh x86_64 - name: build image: plugins/docker settings: repo: iamthefij/minitor auto_tag: true auto_tag_suffix: linux-amd64 username: from_secret: docker_username password: from_secret: docker_password --- kind: pipeline name: deploy-docker-arm depends_on: - tests trigger: event: - push - tag ref: - refs/heads/master - refs/tags/v* steps: - name: get qemu image: busybox commands: - sh ./get_qemu.sh arm - name: build image: plugins/docker settings: repo: iamthefij/minitor auto_tag: true auto_tag_suffix: linux-arm username: from_secret: docker_username password: from_secret: docker_password build_args: - ARCH=arm - REPO=arm32v6 --- kind: pipeline name: deploy-docker-arm64 depends_on: - tests trigger: event: - push - tag ref: - refs/heads/master - refs/tags/v* steps: - name: get qemu image: busybox commands: - sh ./get_qemu.sh aarch64 - name: build image: plugins/docker settings: repo: iamthefij/minitor auto_tag: true auto_tag_suffix: linux-arm64 username: from_secret: docker_username password: from_secret: docker_password build_args: - ARCH=aarch64 - REPO=arm64v8 --- kind: pipeline name: deploy-docker-manifest depends_on: - deploy-docker-amd64 - deploy-docker-arm - deploy-docker-arm64 trigger: event: - push - tag ref: - refs/heads/master - refs/tags/v* steps: - name: publish manifest image: plugins/manifest settings: spec: manifest.tmpl auto_tag: true ignore_missing: true username: from_secret: docker_username password: from_secret: docker_password