mitgliederverwaltung/.drone.yml
Rafael Epplée a8504a7fd6
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Set up basic CI
2025-04-21 14:03:55 +02:00

37 lines
988 B
YAML

kind: pipeline
type: docker
name: default
services:
- name: postgres
image: docker.io/library/postgres:17.2
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
steps:
- name: lint & test
image: docker.io/library/elixir:1.18.3-otp-27
environment:
MIX_ENV: test
TEST_POSTGRES_HOST: postgres
commands:
# Install hex package manager
- mix local.hex --force
# Fetch dependencies
- mix deps.get
# Check for compilation errors & warnings
- mix compile --warnings-as-errors
# Check formatting
- mix format --check-formatted
# Wait for postgres to become available
# TODO: pg_isready is not installed in the elixir image
# - |
# for i in {1..20}; do
# pg_isready -h postgres -p $DATABASE_PORT && break
# sleep 2
# done
# echo "Postgres did not become available, aborting"
# exit 1
# Run tests
- mix test