Быстрый генератор журналов изменений, который получает изменения из PR и проблем GitHub, организованных по меткам.
Создайте журнал изменений от последней версии GitHib до текущего тега/фиксации git HEAD для репозитория git в текущем каталоге:
хроника
Создайте журнал изменений со всеми изменениями от версии 0.16.0 до текущего тега git HEAD/фиксации для репозитория git в текущем каталоге:
хроника --since-tag v0.16.0
Создайте журнал изменений между двумя конкретными тегами для репозитория по заданному пути.
хроника --since-tag v0.16.0 --until-tag v0.18.0 ./path/to/git/repo
Создайте журнал изменений и угадайте версию выпуска по набору изменений в журнале изменений.
хроника -n
Просто угадайте следующую версию выпуска на основе набора изменений (не создавайте журнал изменений).
хроника следующей версии
завиток -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b /usr/local/bin
...или вы можете указать версию выпуска и целевой каталог для установки:
curl -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b <DESTINATION_DIR> <RELEASE_VERSION>
Пути поиска конфигурации:
.chronicle.yaml
.chronicle/config.yaml
~/.chronicle.yaml
<XDG_CONFIG_HOME>/chronicle/config.yaml
Параметры конфигурации (примерные значения — значения по умолчанию):
# формат вывода журнала изменений# такой же, как -o, --output и CHRONICLE_OUTPUT env varoutput: md# подавлять весь вывод журнала# такой же, как -q ; CHRONICLE_QUIET env varquiet: false# все параметры журналированияlog: # использовать структурированное журналирование # то же, что и CHRONICLE_LOG_STRUCTURED env var структурированный: false # уровень журнала # то же, что CHRONICLE_LOG_LEVEL env var level: "warn" # место для записи файла журнала (по умолчанию не есть файл журнала) # то же, что и файл env var CHRONICLE_LOG_FILE: ""# угадать, какая версия следующего выпуска будет основана на текущей версии и наборе изменений (нельзя использовать с --until-tag)# то же, что --speculate-next-version / -n ; CHRONICLE_SPECULATE_NEXT_VERSION env varspeculate-next-version: false# переопределить начальный тег git для журнала изменений (по умолчанию автоматическое определение последней версии)# то же, что --since-tag / -s ; CHRONICLE_SINCE_TAG env varsince-tag: ""# переопределяет конечный тег git для журнала изменений (по умолчанию используется тег или фиксируется в git HEAD)# то же, что --until-tag / -u ; CHRONICLE_SINCE_TAG env varuntil-tag: ""# если текущая версия выпуска < v1.0, то критические изменения приведут к изменению поля дополнительной версии#, такого же, как CHRONICLE_ENFORCE_V0 env varenforce-v0: false# заголовок, используемый для журнала изменений# такой же, как CHRONICLE_TITLEtitle: Журнал изменений # все настройки, связанные с githubgithub:
# используемый хост github (переопределение для корпоративных развертываний github) # то же, что и CHRONICLE_GITHUB_HOST env var хост: github.com
# не рассматривать какие-либо проблемы или PR с любым из данных ярлыков # так же, как CHRONICLE_GITHUB_EXCLUDE_LABELS env var ignore-labels:
- дубликат
- вопрос
- неверный
- не исправлю
- не исправлю
- отпустить-игнорировать
- журнал изменений-игнорировать
- игнорировать
# рассматривать объединенные запросы в качестве записей журнала изменений-кандидатов (должна иметь метку, соответствующую записи 'github.changes') # то же, что и CHRONICLE_GITHUB_INCLUDE_PRS env var include-prs: true # рассматривать закрытые проблемы как записи журнала изменений-кандидатов (должны иметь соответствующую метку из записи журнала изменений) запись 'github.changes') # то же, что и CHRONICLE_GITHUB_INCLUDE_ISSUES env var include-issues: true # проблемы могут рассматриваться только для кандидатов в журнал изменений, если у них есть связанные объединенные PR (примечание: НЕ требуется установка github.include-issues) # то же, что и CHRONICLE_GITHUB_ISSUES_REQUIRE_LINKED_PRS env var Issues-require-linked-prs: false
# список определений того, какие метки, примененные к проблемам или PR, составляют запись журнала изменений. Эти записи также определяют # раздел журнала изменений, заголовок журнала изменений и поле semver, которые лучше всего представляют класс изменения. # примечание: невозможно установить через изменения переменных среды: [...<список записей>...] # Дополнительные сведения см. в разделе «Определения изменений GitHub по умолчанию». Настраиваемый параметр github.changes представляет собой список сопоставлений, каждое из которых принимает следующие поля:
name : [строка] единственное число, строчные буквы, разделенные дефисом (без пробелов), имя, которое лучше всего отражает изменение (например, «критическое изменение», «безопасность», «добавленная функция», «улучшение», «новая функция», и т. д).
title : [строка] заголовок раздела в журнале изменений, в котором перечислены все записи.
semver-field : записи изменения [строка] будут смещать соответствующее поле semver при выборе следующей версии выпуска. Допустимые значения: major , minor или patch .
labels : [список строк] все метки проблем или PR, которые должны соответствовать этому разделу изменений.
Значение по умолчанию для github.changes :
- name: security-fixes title: Security Fixes semver-field: метки исправлений:
- безопасность
- уязвимость
- имя: заголовок добавленной функции: Добавленные функции поле semver: второстепенные метки:
- улучшение
- особенность
- незначительный
- имя: заголовок исправления ошибки: Исправления ошибок semver-поле: метки исправлений:
- ошибка
- исправить
- исправление ошибок
- пластырь
- name: название критической функции: Breaking Changes semver-field: основные метки:
- ломать
- обратно несовместимый
- ломающее изменение
- функция взлома
- главный
- имя: удаленная функция, заголовок: удаленные функции, поле semver: основные метки:
- удаленный
- имя: устаревшая функция, заголовок: Устаревшие функции, поле semver: второстепенные метки:
- устарело- имя: неизвестное название: Дополнительные изменения