mitgliederverwaltung/.drone.yml
2025-04-30 16:01:21 +02:00

94 lines
2.2 KiB
YAML

---
kind: pipeline
type: docker
name: renovate
trigger:
event:
- cron
- push
- custom
environment:
LOG_LEVEL: debug
services:
- name: postgres
image: docker.io/library/postgres:17.2
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
trigger:
event:
- push
steps:
- name: check
image: docker.io/library/elixir:1.18.3-otp-27
commands:
# Install hex package manager
- mix local.hex --force
# Fetch dependencies
- mix deps.get
# Check for compilation errors & warnings
- mix compile --warnings-as-errors
# Check formatting
- mix format --check-formatted
# Security checks
- mix sobelow --config
# Check dependencies for known vulnerabilities
- mix deps.audit
# Check for dependencies that are not maintained anymore
- mix hex.audit
# Provide hints for improving code quality
- mix credo
- name: wait_for_postgres
image: docker.io/library/postgres:17.2
commands:
# Wait for postgres to become available
- |
for i in {1..20}; do
if pg_isready -h postgres -U postgres; then
exit 0
else
true
fi
sleep 2
done
echo "Postgres did not become available, aborting."
exit 1
- name: test
image: docker.io/library/elixir:1.18.3-otp-27
environment:
MIX_ENV: test
TEST_POSTGRES_HOST: postgres
commands:
# Install hex package manager
- mix local.hex --force
# Fetch dependencies
- mix deps.get
# Run tests
- mix test
- name: renovate - validate config
image: renovate/renovate:39.256
# https://github.com/renovatebot/renovate/discussions/15049
commands:
- unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
- renovate-config-validator
- name: renovate
image: renovate/renovate:39.256
# https://github.com/renovatebot/renovate/discussions/15049
commands:
- unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
- renovate
environment:
RENOVATE_TOKEN:
from_secret: RENOVATE_TOKEN
#GITHUB_COM_TOKEN:
# from_secret: GITHUB_COM_TOKEN