kind: pipeline name: test-python-latest workspace: base: /app path: . steps: - name: test image: python:3 commands: - python -V - make test-env 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 commands: - python -V - make test-env 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.5 workspace: base: /app path: . steps: - name: test image: python:3.5 commands: - python -V - make test-env 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.6 workspace: base: /app path: . steps: - name: test image: python:3.6 commands: - python -V - make test-env 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.7 workspace: base: /app path: . steps: - name: test image: python:3.7 commands: - python -V - make test-env 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-pypy3.6 # # workspace: # base: /app # path: . # # steps: # - name: test # image: pypy:3.6 # commands: # - python -V # # python -m env doesn't exist for pypy # - pip install virtualenv # - virtualenv env # - ./env/bin/pip install tox # - 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: tests depends_on: - test-python-latest - test-python3.4 - test-python3.5 - test-python3.6 - test-python3.7 # - 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 build-env 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 build-env 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