-image: elixir:1.9.4
+image: git.pleroma.social:5050/pleroma/pleroma/ci-base
variables: &global_variables
POSTGRES_DB: pleroma_test
before_script:
- echo $MIX_ENV
- rm -rf _build/*/lib/pleroma
- - apt-get update && apt-get install -y cmake
- - mix local.hex --force
- - mix local.rebar --force
- mix deps.get
- - apt-get -qq update
- - apt-get install -y libmagic-dev
after_script:
- rm -rf _build/*/lib/pleroma
- "**/*.ex"
- "**/*.exs"
- "mix.lock"
- retry: 2
cache: &testing_cache_policy
<<: *global_cache_policy
policy: pull
alias: postgres
command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
script:
- - apt-get update && apt-get install -y libimage-exiftool-perl ffmpeg
- mix ecto.create
- mix ecto.migrate
- mix coveralls --preload-modules
+unit-testing-erratic:
+ stage: test
+ retry: 2
+ only:
+ changes:
+ - "**/*.ex"
+ - "**/*.exs"
+ - "mix.lock"
+ cache: &testing_cache_policy
+ <<: *global_cache_policy
+ policy: pull
+
+ services:
+ - name: postgres:13
+ alias: postgres
+ command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"]
+ script:
+ - mix ecto.create
+ - mix ecto.migrate
+ - mix test --only=erratic
+
# Removed to fix CI issue. In this early state it wasn't adding much value anyway.
# TODO Fix and reinstate federated testing
# federated-testing:
- "**/*.ex"
- "**/*.exs"
- "mix.lock"
- retry: 2
cache: *testing_cache_policy
services:
- name: minibikini/postgres-with-rum:12
<<: *global_variables
RUM_ENABLED: "true"
script:
- - apt-get update && apt-get install -y libimage-exiftool-perl ffmpeg
- mix ecto.create
- mix ecto.migrate
- "mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/"
- mix test --preload-modules
lint:
+ image: elixir:1.12
stage: test
only:
changes:
- "**/*.exs"
- "mix.lock"
cache: *testing_cache_policy
+ before_script:
+ - mix local.hex --force
+ - mix local.rebar --force
+ - mix deps.get
script:
- mix format --check-formatted
- "**/*.exs"
- "mix.lock"
cache: {}
- script:
+ before_script:
+ - mix local.hex --force
+ - mix local.rebar --force
- mix deps.get
+ - apt-get update
+ - apt-get install cmake libmagic-dev -y
+ script:
- mix compile
- mix xref graph --format cycles --label compile | awk '{print $0} END{exit ($0 != "No cycles found")}'
amd64:
stage: release
- image: elixir:1.10.3
+ image: elixir:1.10.4
only: &release-only
- stable@pleroma/pleroma
- develop@pleroma/pleroma
stage: release
artifacts: *release-artifacts
only: *release-only
- image: elixir:1.10.3-alpine
+ image: elixir:1.10.4-alpine
cache: *release-cache
variables: *release-variables
before_script: &before-release-musl
only: *release-only
tags:
- arm32-specified
- image: arm32v7/elixir:1.10.3
+ image: arm32v7/elixir:1.10.4
cache: *release-cache
variables: *release-variables
before_script: *before-release
only: *release-only
tags:
- arm32-specified
- image: arm32v7/elixir:1.10.3-alpine
+ image: arm32v7/elixir:1.10.4-alpine
cache: *release-cache
variables: *release-variables
before_script: *before-release-musl
only: *release-only
tags:
- arm
- image: arm64v8/elixir:1.10.3
+ image: arm64v8/elixir:1.10.4
cache: *release-cache
variables: *release-variables
before_script: *before-release
only: *release-only
tags:
- arm
- image: arm64v8/elixir:1.10.3-alpine
+ image: arm64v8/elixir:1.10.4-alpine
cache: *release-cache
variables: *release-variables
before_script: *before-release-musl