Add automatic doc build and deploy
authorrinpatch <rinpatch@sdf.org>
Fri, 22 Mar 2019 20:31:04 +0000 (23:31 +0300)
committerrinpatch <rinpatch@sdf.org>
Fri, 22 Mar 2019 20:31:04 +0000 (23:31 +0300)
.gitlab-ci.yml

index d5f2a762a418dcac45d710c1e89f8f2f46b0b15a..aecce16291305a261809db2af4c7ff4405a4754d 100644 (file)
@@ -20,6 +20,8 @@ stages:
   - lint
   - test
   - analysis
+  - docs_build
+  - docs_deploy
 
 before_script:
   - mix local.hex --force
@@ -43,3 +45,37 @@ analysis:
   stage: analysis
   script:
     - mix credo --strict --only=warnings,todo,fixme,consistency,readability
+
+docs_build:
+  stage: docs_build
+  only:
+  - master@pleroma/pleroma
+  - develop@pleroma/pleroma
+  variables:
+    MIX_ENV: dev
+  before_script:
+    - mix local.hex --force
+    - mix local.rebar --force
+    - mix deps.get
+    - mix compile
+  script:
+    - mix docs
+  artifacts:
+    paths:
+      - priv/static/doc
+
+docs_deploy:
+  stage: docs_deploy
+  image: alpine:3.9
+  only:
+  - master@pleroma/pleroma
+  - develop@pleroma/pleroma
+  before_script:
+    - apk update && apk add openssh-client rsync
+  script:
+    - echo ${CI_COMMIT_REF_NAME}
+    - 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}"