Быстрый генератор журналов изменений, который получает изменения из 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
Пути поиска конфигурации:
.chronicle.yaml
.chronicle/config.yaml
~/.chronicle.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" # место для записи файла журнала (по умолчанию — нет) есть файл журнала) # то же, что CHRONICLE_LOG_FILE env var file: ""# угадать, какая следующая версия выпуска основана на текущей версии и наборе изменений (нельзя использовать с --until-tag)# то же, что --speculate- следующая версия / -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: второстепенные метки: - устарело- имя: неизвестное название: Дополнительные изменения