--- /dev/null
+pipeline:
+ lint:
+ image: pleromaforkci/ci-base:1.13
+ commands:
+ - mix local.hex --force
+ - mix local.rebar --force
+ - mix format --check-formatted
+ when:
+ event: [push, tag, deployment]
--- /dev/null
+depends_on:
+- lint
+
+matrix:
+ ELIXIR_VERSION:
+ - 1.10
+ - 1.13
+
+pipeline:
+ build:
+ image: pleromaforkci/ci-base:${ELIXIR_VERSION}
+ environment:
+ MIX_ENV: test
+ commands:
+ - cp config/test.ci.exs config/test.secret.exs
+ - mix local.hex --force
+ - mix local.rebar --force
+ - mix deps.get
+ - mix compile
+
+ analyse:
+ group: test
+ image: pleromaforkci/ci-base:${ELIXIR_VERSION}
+ environment:
+ MIX_ENV: test
+ commands:
+ - mix local.hex --force
+ - mix local.rebar --force
+ - mix credo --strict --only=warnings,todo,fixme,consistency,readability
+
+ test:
+ group: test
+ image: pleromaforkci/ci-base:${ELIXIR_VERSION}
+ environment:
+ MIX_ENV: test
+ POSTGRES_DB: pleroma_test
+ POSTGRES_USER: postgres
+ POSTGRES_PASSWORD: postgres
+ DB_HOST: postgres
+ commands:
+ - mix local.hex --force
+ - mix local.rebar --force
+ - mix ecto.drop -f -q
+ - mix ecto.create
+ - mix ecto.migrate
+ - mix test --preload-modules --exclude erratic --exclude federated --max-cases 4
+
+services:
+ postgres:
+ image: postgres:13
+ environment:
+ POSTGRES_DB: pleroma_test
+ POSTGRES_USER: postgres
+ POSTGRES_PASSWORD: postgres