Skip to content

feat(ci): add PHP lint/smoke and vueManager ESLint gate on PR - #394

Merged
biz87 merged 1 commit into
betafrom
feat/337-ci-lint-smoke
Jul 23, 2026
Merged

feat(ci): add PHP lint/smoke and vueManager ESLint gate on PR#394
biz87 merged 1 commit into
betafrom
feat/337-ci-lint-smoke

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Описание

Добавлен минимальный CI-гейт на PR и push в beta/master/main: синтаксис PHP + существующие smoke-скрипты в tests/*Test.php, ESLint для vueManager без --fix.

До этого регрессии ловились только локально; release.yml собирает релиз по тегу и код на PR не проверяет. Живой MODX/MySQL не нужен. PHPUnit/Pest и PHPStan остаются follow-up.

Тип изменений

  • Новая функциональность (non-breaking change)

Связанные Issues

Closes #337

Как это было протестировано?

Локально:

cd core/components/minishop3 && composer install && composer ci:php
cd ../../../vueManager && npm ci && npm run lint:ci
  • Ручное тестирование
  • Автоматические тесты (composer ci:php, npm run lint:ci / GitHub Actions CI)
  • Тестирование на разных версиях PHP/MODX

Конфигурация тестирования:

  • MiniShop3: ветка feat/337-ci-lint-smoke
  • MODX: не требуется
  • PHP: 8.4 локально (в CI — 8.2), Node 20

Скриншоты (если применимо)

До После
n/a n/a

Чеклист

  • Код соответствует стилю проекта
  • Добавлены/обновлены комментарии в сложных местах
  • Изменения не ломают существующую функциональность
  • Лексиконы добавлены на двух языках (ru/en)
  • PHPStan проходит без новых ошибок (локально; в CI пока нет)
  • ESLint проходит без ошибок (npm run lint:ci для Vue)
  • Обновлён CHANGELOG.md (для значимых изменений)

Дополнительные заметки

После merge включите branch protection на beta (и при необходимости master/main) с required checks PHP lint + smoke и vueManager lint — иначе красный CI не блокирует merge.

npm run lint по-прежнему с --fix для локальной правки; в CI только lint:ci.

@Ibochkarev Ibochkarev added priority: high Важно исправить в ближайшее время enhancement New feature or request tech-debt Maintainability / refactor / architecture debt and removed priority: high Важно исправить в ближайшее время labels Jul 16, 2026
@Ibochkarev
Ibochkarev requested a review from biz87 July 16, 2026 02:58
@biz87

biz87 commented Jul 23, 2026

Copy link
Copy Markdown
Member

Прокликал: раннер run-smoke.php локально гоняет все 5 тестов зелёными (включая рефакторнутые через новый modx_phinx_stub.php), CI на самом PR — оба job'а pass (PHP lint + smoke 29s, vueManager lint 24s).

Что хорошо:

  • Раннер архитектурно правильный — subprocess-изоляция через passthru, а не require (иначе первый exit() теста убил бы весь раннер).
  • DRY-рефакторинг: дублированный inline modX-stub из двух Phinx-тестов вынесен в ms3_create_modx_phinx_stub().
  • --max-warnings 0 — строгий ESLint в CI, lint с --fix остаётся для локальной работы.
  • Не требует MODX/MySQL, обе job < 30s, cancel-in-progress, минимальные permissions: contents: read.

После мержа: включаю branch protection на beta с required checks (PHP lint + smoke, vueManager lint).

Follow-up (отдельный issue): PHPStan в CI + план интеграционного тестового покрытия — самое ломкое (order flow, options sync) сейчас smoke-тесты не достают.

Мержим.

@biz87
biz87 merged commit 072ef24 into beta Jul 23, 2026
2 checks passed
@biz87
biz87 deleted the feat/337-ci-lint-smoke branch July 23, 2026 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request tech-debt Maintainability / refactor / architecture debt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] CI: lint + smoke-тесты на PR (PHP / vueManager)

2 participants