Проверка качества кода при локальной разработке (приложение Laravel)Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Проверка качества кода при локальной разработке (приложение Laravel)

Сообщение Anonymous »

Контекст
Я унаследовал проект Laravel 12, который использует GrumPHP для проверок качества перед фиксацией. Перехватчик перед фиксацией в настоящее время занимает 7-10 минут, что кажется чрезмерным для каждого коммита. PHPUnit должен отслеживать только измененные файлы, но похоже, что это часто каждый раз включает в себя большую часть модульных тестов. Я пытаюсь понять, нормально ли это/рекомендуется или есть лучший подход.
Технический стек

Код: Выделить всё

  - Laravel 12 (PHP 8.3)
- phpro/grumphp-shim v2.12
- MySQL database (separate one for testing)
- Docker-based development environment
Текущая конфигурация GrumPHP
Перехватчик предварительной фиксации выполняет следующие задачи:

Код: Выделить всё

  1. PHPUnit (full test suite, non-parallel)
2. PHPStan (static analysis at max level)
3. Psalm (static analysis with no cache)
4. PHP-CS-Fixer (code style checking)
5. YAML Lint
6. Composer validation
7. Git commit message validation (JIRA ticket enforcement)
8. Security checker (composer audit)
мой grumphp.yaml:

Код: Выделить всё

  imports:
- { resource: vendor/phpro/symfony-conventions/grumphp-convention.yml }

parameters:
commit_project_names: "(MUND)"
run_psalm: true
phpunit.parallel: false
stop_on_failure: false
run_security_advisories: true

grumphp:
process_timeout: 600
tasks:
phpstan:
configuration: phpstan.neon.dist
use_grumphp_paths: false
phpunit:
always_execute: false  # Only run on changed files
git_commit_message: ~
Проблема
Из того, что я смог выяснить:
  • миграция базы данных выполняется для каждого тестового класса
  • каждая фиксация занимает более 7 дюймов (тайм-аут установлен на 10 дюймов)
По моему мнению, это очень медленно для проверка/проверка качества перед фиксацией.
Вопрос
является ли эта настройка излишней, ненужной или просто недостаточно хорошо настроенной для каждого коммита?
Я с радостью приветствую рекомендации и информацию по этому поводу!

Подробнее здесь: https://stackoverflow.com/questions/798 ... pplication
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»