ports/.drone.yml
cătălin dd77061546
Some checks reported errors
continuous-integration/drone/push Build was killed
ci: debug
2022-10-14 20:48:25 +02:00

104 lines
2.4 KiB
YAML

---
kind: pipeline
type: docker
name: build and test
trigger:
ref:
- refs/heads/**
- refs/tags/v*
environment:
REGISTRY_HOST: https://git.roboces.dev
DESTINATION_PREFIX: git.roboces.dev/catalin/ports
PRE_COMMIT_HOME: /drone/src/.cache/.pre-commit
steps:
- name: restore_cache
image: meltwater/drone-cache
pull: true
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
settings:
restore: true
bucket: ports-cache
endpoint: https://s3.fukurokuju.dev
region: us-east-1
path_style: true
mount:
- .venv
- .cache/.pre-commit
- name: install_deps
pull: true
image: git.roboces.dev/catalin/poetry:beta
commands:
- apk add linux-headers cargo
- poetry config virtualenvs.in-project 1
- poetry install --with linters,test
- .venv/bin/pre-commit install-hooks
depends_on:
- restore_cache
- name: lint
pull: true
image: git.roboces.dev/catalin/poetry:beta
commands:
- .venv/bin/pre-commit run --all-files --color always
depends_on:
- install_deps
- name: tests
pull: true
image: git.roboces.dev/catalin/poetry:beta
commands:
- .venv/bin/ward --path tests
depends_on:
- install_deps
- name: deploy
pull: true
image: git.roboces.dev/catalin/poetry:beta
commands:
- poetry build
- poetry config repositories.roboces https://git.roboces.dev/api/packages/catalin/pypi
- poetry config http-basic.roboces "$REGISTRY_USERNAME" "$REGISTRY_PASSWORD"
- poetry publish --repository roboces
environment:
REGISTRY_USERNAME:
from_secret: REGISTRY_USERNAME
REGISTRY_PASSWORD:
from_secret: REGISTRY_PASSWORD
when:
ref:
- refs/tags/v*
depends_on:
- lint
- tests
- name: rebuild cache
image: meltwater/drone-cache
pull: true
environment:
AWS_ACCESS_KEY_ID:
from_secret: AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: AWS_SECRET_ACCESS_KEY
settings:
rebuild: true
path_style: true
bucket: ports-cache
endpoint: https://s3.fukurokuju.dev
region: us-east-1
mount:
- .venv
- .cache/.pre-commit
when:
status:
- failure
- success
depends_on:
- lint
- tests