--- 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: '{{ .Repo.Name }}-{{ checksum "mix.lock" }}' 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 - make test - name: lint image: 'elixir:1.13.4' commands: - mix do local.rebar --force, local.hex --force, deps.get, deps.compile - make static_code_analysis - name: rebuild cache image: 'meltwater/drone-cache:v1.3.0' settings: archive_format: gzip backend: filesystem cache_key: '{{ .Repo.Name }}-{{ checksum "mix.lock" }}' 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: {}