Действие GitHub для автоматического генерирования в соответствии с обычными коммитами.
Не стесняйтесь отправлять запрос на притяжение или проблему, но обязательно следуйте шаблонам.
Приветствующие участники, чтобы улучшить этот проект вместе!
Если вам это нравится, пожалуйста, дайте мне звезду !
Создайте файл рабочего процесса, такой как .github/workflows/changelog.yml (вы можете найти его в этом репо)
name : Generate changelog
on :
release :
types : [created, edited]
jobs :
generate-changelog :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 0
- uses : BobAnkh/[email protected]
with :
REPO_NAME : ' <YourUserName>/<YourRepoName> '
ACCESS_TOKEN : ${{secrets.GITHUB_TOKEN}}
PATH : ' CHANGELOG.md '
COMMIT_MESSAGE : ' docs(CHANGELOG): update release notes '
TYPE : ' feat:Feature,fix:Bug Fixes,docs:Documentation,refactor:Refactor,perf:Performance Improvements 'Примечание: генерация изменений нуждается в всей истории коммита, поэтому вы должны установить
fetch-depth: 0сactions/checkoutПРИМЕЧАНИЕ. Журнал Commit начинается с
docs(changelog)илиdoc(CHANGELOG)не будет добавлен в ChangeLog
Пожалуйста, смотрите примечания ниже таблицы, чтобы установить некоторые параметры .
| Входные данные | Описание | Необходимый | По умолчанию |
|---|---|---|---|
| Repo_name | Название репозитория | нет | '' Что означает текущий репозиторий |
| Access_token | GitHub Access токен. См. Примечания 1 | да | Вы можете просто передать ${{secrets.GITHUB_TOKEN}} |
| ПУТЬ | Путь к вашему файлу | нет | CHANGELOG.md |
| ВЕТВЬ | Ветвь для обновления файла, указанного в пути | нет | '' Что означает филиал по умолчанию |
| Pull_request | Откройте новый запрос на вытягивание, если установить на имя целевого филиала. См. Примечания 2 | нет | '' Это означает, что не открывает запрос на вытягивание по умолчанию |
| Commit_message | Комплект сообщения | нет | docs(CHANGELOG): update release notes |
| ТИП | Тип коммитов, которые вы хотите добавить в ChangeLog. См. Примечания 3 | нет | 'feat:Feature,fix:Fix' |
| Комитет | Коммиттор, который вы хотите использовать для обновления файла. См. Примечания 4 | нет | '' Это означает, что комитет по умолчанию |
| Default_scope | Область по умолчанию для удержания всех коммитов не затопленным | нет | general |
| Suppress_unscoped | Исключить ли не затопленные коммиты | нет | ЛОЖЬ |
| Не выпущенные_коммиты | Следует ли включать не выпущенные коммиты в ChangeLog | нет | ЛОЖЬ |
| Regenerate_count | Регенерация N недавних выпусков. См. Примечания 5 | нет | 0 |
| Replace_empty_release_info | Заменить пустую информацию о выпуске некоторыми словами | нет | ЛОЖЬ |
Примечания 1 : ${{secrets.GITHUB_TOKEN}} имеет предел ставки меньше, чем токен для личного доступа (PAT), поэтому, если у вас есть гораздо больше запросов (коммиты, PRS и т. Д.), Или столкнетесь с 403-rage-eDror, используйте вместо этого PAT.
Примечания 2 : PULL_REQUEST должен использоваться вместе с BRANCH вместе, оба должны быть предоставлены действительным именем ветви, если вы хотите открыть запрос на вытяжение . GA откроет запрос на вытяжение из BRANCH (ветка) до PULL_REQUEST (базовая ветвь). Оставьте PULL_REQUEST .
Примечания 3 : Вы можете определить ключевое слово, обнаруженное из сообщения Commit, и соответствующее слово, представленное в The ChangerLog в TYPE ввода. Например, определите feat:Feature,fix:Bug Fixes будут иметь сообщения о коммите, такие как feat(main): add new option , которая будет представлена в Changelog в разделе «Часть Feature и будут иметь такие сообщения о коммите, как fix(server): adjust rendering , который будет представлен в Changelog в соответствии с Bug Fixes .
Примечания 4 : COMMITTER должен быть в формате: 'author <author@email>'
Примечания 5 : Все выпуски не существуют в измене, конечно, будут добавлены в изменение изменений. Используйте этот параметр, чтобы регенерировать последнюю n -релиз. По умолчанию установлено значение 0 означает только генерировать только для новых выпусков. Вы можете установить на -1 для восстановления всех выпусков.
Примечания 6 : Вы можете использовать формат ниже, чтобы избежать некоторых строк в описании выпуска, чтобы появиться в Changerelog:
<!-- HIDE IN CHANGELOG BEGIN --> See CHANGELOG for more details. This line will be hided when changelog is generated. <!-- HIDE IN CHANGELOG END -->
@Bobankh
Вы должны следовать нашему кодексу поведения.
См. Соответствующие руководящие принципы для внесения конвенций.
Обязательно пройдите все тесты перед отправкой вашего кода. Вы можете провести pytest -ra в корневом каталоге, чтобы запустить все тесты.
Вы можете использовать локальный режим при разработке его на локальной машине, вот информация о справке командной строки:
usage: main.py [-h] [-m MODE] [-f FILE] [-o OUTPUT] [-t TOKEN]
optional arguments:
-h, --help show this help message and exit
-m MODE, --mode MODE choose to use local-dev mode or on github action mode.
Valid values are 'local' or 'github'
-f FILE, --file FILE configuration file to read from when running local-dev
mode
-o OUTPUT, --output OUTPUT
output file when running local-dev mode
-t TOKEN, --token TOKEN
Github Access TokenЙисин Шен | Джонатан Манг | Себастьян Рюль |
Apache-2.0 © Bobankh