Add CI
authorFloatingGhost <hannah@coffee-and-dreams.uk>
Fri, 10 Jun 2022 12:37:41 +0000 (13:37 +0100)
committerFloatingGhost <hannah@coffee-and-dreams.uk>
Fri, 10 Jun 2022 12:37:41 +0000 (13:37 +0100)
.woodpecker/.lint.yml [new file with mode: 0644]
.woodpecker/.test.yml [new file with mode: 0644]

diff --git a/.woodpecker/.lint.yml b/.woodpecker/.lint.yml
new file mode 100644 (file)
index 0000000..615cd7a
--- /dev/null
@@ -0,0 +1,9 @@
+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]
diff --git a/.woodpecker/.test.yml b/.woodpecker/.test.yml
new file mode 100644 (file)
index 0000000..e9d7f88
--- /dev/null
@@ -0,0 +1,54 @@
+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