stages:
- build
- test
+ - benchmark
- deploy
- release
paths:
- priv/static/doc
+benchmark:
+ stage: benchmark
+ variables:
+ MIX_ENV: benchmark
+ 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 pleroma.load_testing
unit-testing:
stage: test
docs-deploy:
stage: deploy
- image: alpine:3.9
+ image: alpine:latest
only:
- - master@pleroma/pleroma
+ - stable@pleroma/pleroma
- develop@pleroma/pleroma
before_script:
- - apk update && apk add openssh-client rsync
+ - apk add curl
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}"
-
+ - curl -X POST -F"token=$DOCS_PIPELINE_TRIGGER" -F'ref=master' -F"variables[BRANCH]=$CI_COMMIT_REF_NAME" https://git.pleroma.social/api/v4/projects/673/trigger/pipeline
review_app:
image: alpine:3.9
stage: deploy
# TODO: Replace with upstream image when 1.9.0 comes out
image: rinpatch/elixir:1.9.0-rc.0
only: &release-only
- - master@pleroma/pleroma
+ - stable@pleroma/pleroma
- develop@pleroma/pleroma
+ - /^maint/.*$/@pleroma/pleroma
+ - /^release/.*$/@pleroma/pleroma
artifacts: &release-artifacts
name: "pleroma-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME"
paths: