44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
when:
|
|
- event: pull_request
|
|
path: [ "**/*.ex", "**/*.eex", "**/*.exs", "mix.lock", ".woodpecker/**" ]
|
|
- event: push
|
|
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
path: [ "**/*.ex", "**/*.eex", "**/*.exs", "mix.lock", ".woodpecker/**" ]
|
|
|
|
depends_on:
|
|
- lint
|
|
|
|
labels:
|
|
platform: linux/amd64
|
|
|
|
variables:
|
|
script_file_entrypoint: &script_file_entrypoint
|
|
- /bin/sh
|
|
- -c
|
|
- 'printf "%s" "$CI_SCRIPT" | base64 -d > /tmp/ci-script.sh && /bin/sh -xe /tmp/ci-script.sh'
|
|
|
|
steps:
|
|
unit-testing-elixir-1.18:
|
|
image: elixir:1.18-otp-27-alpine
|
|
entrypoint: *script_file_entrypoint
|
|
environment:
|
|
MIX_ENV: test
|
|
DB_HOST: postgres
|
|
DB_PORT: 5432
|
|
commands:
|
|
- apk add --no-cache build-base cmake exiftool ffmpeg file-dev git openssl
|
|
- adduser -D -h /home/testuser testuser
|
|
- mkdir -p /home/testuser/.mix /home/testuser/.hex
|
|
- chown -R testuser:testuser . /home/testuser
|
|
- su testuser -c "HOME=/home/testuser mix local.hex --force"
|
|
- su testuser -c "HOME=/home/testuser mix local.rebar --force"
|
|
- su testuser -c "HOME=/home/testuser mix deps.get"
|
|
- su testuser -c "HOME=/home/testuser mix pleroma.test_runner --preload-modules"
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:13-alpine
|
|
environment:
|
|
POSTGRES_DB: pleroma_test
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|