ex_trainer/.drone.yml
2022-04-24 12:33:07 +00:00

70 lines
1.3 KiB
YAML

---
kind: pipeline
type: docker
name: test
trigger:
event:
- pull_request
steps:
- name: database healthcheck
image: 'postgres:14.2-alpine'
environment:
PGUSER: postgres
PGPASSWORD: postgres
PGHOST: db
commands:
- while ! pg_isready; do sleep 1; done
- name: restore cache
image: 'meltwater/drone-cache:v1.3.0'
settings:
archive_format: gzip
backend: filesystem
cache_key: volume
mount:
- _build
- deps
restore: true
volumes:
- name: cache
path: /tmp/cache
- name: test
image: 'elixir:1.13.4'
environment:
MIX_ENV: test
POSTGRES_HOST: db
POSTGRES_USER: postgres
POSTGRES_PASS: postgres
commands:
- mix do local.rebar --force, local.hex --force, deps.get, deps.compile
- mix test --cover --trace --slowest 10
- name: rebuild cache
image: 'meltwater/drone-cache:v1.3.0'
settings:
archive_format: gzip
backend: filesystem
cache_key: volume
mount:
- _build
- deps
rebuild: true
exit_code: true
volumes:
- name: cache
path: /tmp/cache
services:
- name: db
image: 'postgres:14.2-alpine'
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- name: cache
temp: {}