dishplanner/.forgejo/workflows/ci.yml

45 lines
1.1 KiB
YAML
Raw Normal View History

2026-08-17 13:30:49 +02:00
name: CI
on:
push:
branches: ['release/*']
pull_request:
branches: [main, 'release/*']
jobs:
ci:
runs-on: docker
container:
image: forge.lvl0.xyz/lvl0/dishplanner-ci:php8.3-3
2026-08-17 13:30:49 +02:00
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- name: Cache Composer dependencies
uses: https://data.forgejo.org/actions/cache@v4
with:
path: ~/.composer/cache
2026-08-17 13:30:49 +02:00
key: composer-${{ hashFiles('composer.lock') }}
restore-keys: composer-
- name: Install dependencies
run: |
for attempt in 1 2 3 4 5; do
echo "composer install attempt $attempt/5"
composer install --no-interaction --prefer-source && exit 0
echo "composer install failed (attempt $attempt/5), retrying in 30s..."
sleep 30
done
exit 1
2026-08-17 13:30:49 +02:00
- name: Prepare environment
run: cp .env.testing .env
- name: Lint
run: vendor/bin/pint --test
- name: Static analysis
run: vendor/bin/phpstan analyse --memory-limit=1G
- name: Tests
run: php -d memory_limit=512M vendor/bin/phpunit