Автоматизировать заметки о выпуске a.ka. Changelog с информацией о выпуске

Любопытно узнать, что выходит в проекте?

Ведите Changelog, это позволит вашей аудитории быть в курсе последних изменений с первого взгляда!

А еще лучше — автоматизируйте создание CHANGELOG.md каждый раз, когда PR сливается в базовую ветку:

  • используя обычные коммиты, он создает стандартный тип для формата сообщения о коммите: type(optional scope): message
  • и добавление релиза в ваш репозиторий в качестве действия на github.

Как автоматизировать Changelog

1 — Создайте .github/workflows/release-please.yml в корне репозитория.

$ mkdir .github && cd .github && mkdir workflows && cd workflows && touch release-please.yml
Войдите в полноэкранный режим Выйти из полноэкранного режима

2 — Внесите изменения в release-please.yml и выберите тип релиза

# release-please.yml
on:
  push:
    branches:
      - main
name: release-please
jobs:
  release-please:
    runs-on: ubuntu-latest
    steps:
      - uses: google-github-actions/release-please-action@v3
        with:
          release-type: simple
Войти в полноэкранный режим Выйти из полноэкранного режима

3 — Добавьте сообщение о фиксации и объедините ветку. Убедитесь, что следуете обычным коммитам.

4 — Некоторые разделы журнала изменений не будут отображаться. Чтобы отменить значение по умолчанию, обновите release-please.yml с помощью changelog-types с полем hidden:false.

# release-please.yml
...
        with:
          release-type: simple
          changelog-types: >
            [
              { "type": "build", "section": "Build System", "hidden": false },
              { "type": "ci", "section": "Continuous Integration", "hidden": false },
              { "type": "chore", "section": "Miscellaneous Chores", "hidden": false },
              { "type": "docs", "section": "Documentation", "hidden": false },
              { "type": "feat", "section": "Features", "hidden": false },
              { "type": "fix", "section": "Bug Fixes", "hidden": false },
              { "type": "perf", "section": "Performance Improvements", "hidden": false },
              { "type": "revert", "section": "Reverts", "hidden": false },
              { "type": "refactor", "section": "Code Refactoring", "hidden": false },
              { "type": "style", "section": "Styles", "hidden": false },
              { "type": "test", "section": "Tests", "hidden": false }
            ]
Вход в полноэкранный режим Выйти из полноэкранного режима

5 — Настроить заголовок PR по умолчанию для squash и merge коммитов при слиянии pull request

6 — Посмотреть автоматический журнал изменений PR — ссылка на github

Использование Squash and merge PR в github сгруппирует коммиты в один коммит, отображая только одну строку с PR#. Если не использовать Squash and merge PR, каждый коммит будет отображаться отдельно, как показано в разделе «Непрерывная интеграция».

Историю отдельных коммитов PR по-прежнему можно просмотреть, щелкнув PR# в CHANGELOG.MD

Примечания о выпуске также могут быть отменены в теле PR с журналом изменений, отражающим изменения.

Упрощение объединенных PR

Настройте объединенные ПР так, чтобы они сохраняли более чистую историю в базовой ветке

1 — Добавьте правило защиты ветки, требующее, чтобы ветки были обновлены перед слиянием

2 — Используйте сминание и слияние коммитов в PR, чтобы сохранить более чистую историю коммитов в базовой ветке.

3 — Автоматически удалять ветки после слияния


Репо Github для этого руководства можно найти здесь

Оцените статью
devanswers.ru
Добавить комментарий