|
- image: elixir:1.8.1
-
- 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:
- - build
- - test
- - deploy
-
- before_script:
- - mix local.hex --force
- - mix local.rebar --force
-
- build:
- stage: build
- script:
- - mix deps.get
- - 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: postgres:9.6.2
- 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
-
- 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:
- - 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}"
|