Handle new-style mastodon follow lists
[akkoma] / .gitlab-ci.yml
index bd94d146bb00d3200eb9c928f7218130dfc7f7d2..c07f1a5d34f9028945a997fe65ffbc776eb40491 100644 (file)
@@ -1,9 +1,5 @@
 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
@@ -17,29 +13,68 @@ cache:
           - deps
           - _build
 stages:
-  - lint
+  - build
   - test
-  - analysis
+  - deploy
 
 before_script:
   - mix local.hex --force
   - mix local.rebar --force
+
+build:
+  stage: build
+  script:
   - mix deps.get
   - mix compile --force
-  - mix ecto.create
-  - mix ecto.migrate
 
-lint:
-  stage: lint
+docs-build:
+  stage: build
+  only:
+  - master@pleroma/pleroma
+  - develop@pleroma/pleroma
+  variables:
+    MIX_ENV: dev
   script:
-    - mix format --check-formatted
+    - mix deps.get
+    - mix compile
+    - mix docs
+  artifacts:
+    paths:
+      - priv/static/doc
 
 unit-testing:
   stage: test
+  services:
+  - name: postgres:9.6.2
+    command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
   script:
+    - mix ecto.create
+    - mix ecto.migrate
     - mix test --trace --preload-modules
 
+lint:
+  stage: test
+  script:
+    - mix format --check-formatted
+
 analysis:
-  stage: analysis
+  stage: test
+  script:
+    - mix deps.get
+    - mix credo --strict --only=warnings,todo,fixme,consistency,readability
+
+
+docs-deploy:
+  stage: deploy
+  image: alpine:3.9
+  only:
+  - master@pleroma/pleroma
+  - develop@pleroma/pleroma
+  before_script:
+    - apk update && apk add openssh-client rsync
   script:
-    - mix credo list --only=warnings,todo,fixme
+    - mkdir -p ~/.ssh
+    - echo "${SSH_HOST_KEY}" > ~/.ssh/known_hosts
+    - eval $(ssh-agent -s)
+    - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
+    - rsync -hrvz --delete -e "ssh -p ${SSH_PORT}" priv/static/doc/ "${SSH_USER_HOST_LOCATION}/${CI_COMMIT_REF_NAME}"