image: elixir:1.8.1 services: - name: postgres:9.6.2 command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] variables: POSTGRES_DB: pleroma_test POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres DB_HOST: postgres MIX_ENV: test cache: key: ${CI_COMMIT_REF_SLUG} paths: - deps - _build stages: - lint - test - analysis before_script: - mix local.hex --force - mix local.rebar --force - mix deps.get - mix compile --force - mix ecto.create - mix ecto.migrate lint: stage: lint script: - mix format --check-formatted unit-testing: stage: test script: - mix test --trace --preload-modules analysis: stage: analysis script: - mix credo list --only=warnings,todo,fixme,consistency,readability