X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=.gitlab-ci.yml;h=8b5131dc3cf3879092fb1226c1a7c4d5ec4386c3;hb=26e76138241e560551f2d0c3de055dd8830d8b4a;hp=48503208e80ff4f158155d4ca9061d24d5c63170;hpb=41425fd64a37d99fada05f0de48f4e2b7fb9a9c0;p=akkoma diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 48503208e..8b5131dc3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,24 +1,97 @@ -image: elixir:1.4 - -services: - - postgres:9.6.2 +image: elixir:1.8.1 variables: POSTGRES_DB: pleroma_test - POSTGRES_USER: pleroma - POSTGRES_PASSWORD: pleroma + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + DB_HOST: postgres + MIX_ENV: test +cache: + key: ${CI_COMMIT_REF_SLUG} + paths: + - deps + - _build stages: + - build - test + - deploy before_script: - - mix local.hex –force - - mix local.rebar –force + - mix local.hex --force + - mix local.rebar --force + +build: + stage: build + script: - mix deps.get - - MIX_ENV=test mix ecto.create - - MIX_ENV=test mix ecto.migrate + - mix compile --force + +docs-build: + stage: build + only: + - master@pleroma/pleroma + - develop@pleroma/pleroma + variables: + MIX_ENV: dev + script: + - mix deps.get + - mix compile + - mix docs + artifacts: + paths: + - priv/static/doc unit-testing: stage: test + services: + - name: lainsoykaf/postgres-with-rum + alias: postgres + command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] + script: + - mix deps.get + - mix ecto.create + - mix ecto.migrate + - mix test --trace --preload-modules + - mix coveralls + +unit-testing-rum: + stage: test + services: + - name: lainsoykaf/postgres-with-rum + alias: postgres + command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] + variables: + RUM_ENABLED: "true" + script: + - mix deps.get + - mix ecto.create + - mix ecto.migrate + - "mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/" + - mix test --trace --preload-modules + +lint: + stage: test + script: + - mix format --check-formatted + +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_ENV=test mix test \ No newline at end of file + - 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}"