Skip to content

Feat semantic release#72

Open
Ibochkarev wants to merge 2 commits intobetafrom
feat-semantic-release
Open

Feat semantic release#72
Ibochkarev wants to merge 2 commits intobetafrom
feat-semantic-release

Conversation

@Ibochkarev
Copy link
Member

Описание

Добавлены semantic-release и Conventional Commits для автоматического управления версиями и релизами:

  • semantic-release — определение версий и формирование changelog из conventional commits
  • commitlint + husky — проверка формата сообщений коммитов
  • GitHub Actions — автоматический релиз при push в beta/main/master
  • RELEASES.md — история релизов (1.2.0 → 1.4.0) в формате conventional changelog

Conventional Commits

Используйте Conventional Commits для сообщений коммитов:

Префикс Описание Влияние на версию
feat: Новая функциональность minor
fix: Исправление бага patch
docs: Документация
refactor: Рефакторинг
chore: Прочее (зависимости и т.д.)
BREAKING CHANGE: Ломающие изменения major

Примеры: feat: add notification center, fix: correct order validation

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

  • Исправление бага (non-breaking change)
  • Новая функциональность (non-breaking change)
  • Breaking change (изменение, ломающее обратную совместимость)
  • Рефакторинг (без изменения функциональности)
  • Документация
  • Другое (опишите):

Связанные Issues

Closes #(номер issue)

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

  • Ручное тестирование — npm run semantic-release -- --dry-run, echo "feat: test" | npx commitlint
  • Автоматические тесты (PHPStan, ESLint) — npm run lint:all в vueManager
  • Тестирование на разных версиях PHP/MODX

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

  • MiniShop3: —
  • MODX: —
  • PHP: —

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

До После

Чеклист

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

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

Файлы: .releaserc.json, .github/workflows/release.yml, commitlint.config.js, .husky/commit-msg, RELEASES.md, docs/SEMANTIC_RELEASE.md, package.json (commitlint, husky, semantic-release и плагины).

Pre-commit — проверка lint перед коммитом отключена; активна только проверка сообщений через commitlint.

Ivan Bochkarev added 2 commits February 8, 2026 12:09
- Добавлен скрипт для линтинга в package.json
- Обновлены комментарии в pre-commit хуке Husky
- Исправлены отступы и добавлены запятые в нескольких файлах для соответствия стилю кода
- Устранены отключения eslint для не определённых переменных в компонентах Vue
@Ibochkarev Ibochkarev requested a review from biz87 February 8, 2026 06:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant