X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=.gitlab-ci.yml;h=dbdf59f6516eb28f9a5fd3a95883884158fbc89d;hb=3db923515057b7da23e4bb58a1696cd14df7ed52;hp=8ea652086da7e3b594b411c1650cc9d3abc5650e;hpb=a3003364598b42849e384a216948dad810481f51;p=akkoma diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8ea652086..dbdf59f65 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,35 +1,82 @@ -image: elixir:1.7.2 +image: elixir:1.8.1 services: - - postgres:9.6.2 + - 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 + - docs_build + - docs_deploy before_script: - mix local.hex --force - mix local.rebar --force - mix deps.get - - MIX_ENV=test mix ecto.create - - MIX_ENV=test mix ecto.migrate + - mix compile --force + - mix ecto.create + - mix ecto.migrate lint: stage: lint script: - - MIX_ENV=test mix format --check-formatted + - mix format --check-formatted unit-testing: stage: test script: - - MIX_ENV=test mix test --trace + - mix test --trace --preload-modules + +analysis: + stage: analysis + script: + - mix credo --strict --only=warnings,todo,fixme,consistency,readability + +docs_build: + stage: docs_build + services: + 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 + services: + only: + - master@pleroma/pleroma + - develop@pleroma/pleroma + before_script: + - apk update && apk add openssh-client rsync + script: + - 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}"