--- kind: pipeline type: docker name: test trigger: event: - pull_request steps: - name: database healthcheck image: 'postgres:15.3-alpine' environment: PGUSER: postgres PGPASSWORD: postgres PGHOST: db commands: - while ! pg_isready; do sleep 1; done - name: restore cache image: 'meltwater/drone-cache:v1.4.0' environment: AWS_ACCESS_KEY_ID: from_secret: minio_user AWS_SECRET_ACCESS_KEY: from_secret: minio_password settings: archive_format: gzip bucket: trainlog-cache cache_key: '{{ .Repo.Name }}-{{ checksum "mix.lock" }}' endpoint: minio:9000 mount: - _build - deps path_style: true region: us-east-1 restore: true - name: test image: 'elixir:1.14.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.14.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.4.0' environment: AWS_ACCESS_KEY_ID: from_secret: minio_user AWS_SECRET_ACCESS_KEY: from_secret: minio_password settings: archive_format: gzip bucket: trainlog-cache cache_key: '{{ .Repo.Name }}-{{ checksum "mix.lock" }}' endpoint: minio:9000 exit_code: true mount: - _build - deps path_style: true rebuild: true region: us-east-1 services: - name: db image: 'postgres:15.3-alpine' environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres