chronicle
0.8.0
一個快速變更日誌產生器,可從 GitHub PR 和問題中取得變更,並按標籤組織。
建立從上一個 GitHub 版本到目前目錄中 git 儲存庫的目前 git HEAD 標記/提交的變更日誌:
編年史
建立一個變更日誌,其中包含從 v0.16.0 到目前目錄中 git 儲存庫的目前 git HEAD 標記/提交的所有變更:
編年史--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 Structured: false # 日誌等級# 與CHRONICLE_LOG_LEVEL 相同 var level:v var level:不是有一個日誌檔案) # 與 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_TLEti #所有與github 相關的設定github:
# 要使用的 github 主機(覆蓋 github 企業部署) # 與 CHRONICLE_GITHUB_HOST 相同 env var host: github.com
# 不考慮任何給定標籤的任何問題或 PR # 與 CHRONICLE_GITHUB_EXCLUDE_LABELS env var except-labels 相同:
- 複製
- 問題
- 無效的
- 不會修復
- 不會修復
- 釋放-忽略
- 更改日誌忽略
- 忽略
# 將合併的PR 視為候選變更日誌條目(必須具有來自'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 環境變數相同issues-require-linked-prs: false
# 應用於問題或 PR 的標籤構成變更日誌條目的定義清單。這些條目還規定了變更日誌部分、變更日誌標題和最能代表變更類別的 semver 欄位。 # 注意:無法透過環境變數設定變更:[...<條目列表>...] # 有關更多詳細信息,請參閱「預設 GitHub 變更定義」部分github.changes可設定為映射列表,每個映射都採用以下字段:
name : [字串]最能代表更改的單數、小寫、連字符分隔(無空格)名稱(例如“突破性更改”、“安全性”、“添加功能”、“增強”、“新功能”、 ETC)。
title : [字串]更改日誌中列出所有條目的部分的標題。
semver-field : [string]更改條目在猜測下一個發行版本時將碰撞相應的 semver 欄位。允許的值: major 、 minor或patch 。
labels : [字串清單]應與此變更部分相符的所有問題或 PR 標籤。
github.changes的預設值為:
- 名稱:安全修復標題:安全修復 semver 欄位:修補程式標籤:
- 安全
- 脆弱性
- 名稱:新增的功能標題:新增的功能 semver-field:次要標籤:
- 增強
- 特徵
- 次要的
- 名稱:錯誤修復標題:錯誤修復 semver 欄位:補丁標籤:
- 漏洞
- 使固定
- 錯誤修復
- 修補
- 名稱:重大功能標題:重大變更 semver 欄位:主要標籤:
- 打破
- 向後不相容
- 突破性改變
- 破壞功能
- 主要的
- 名稱:刪除的功能標題:刪除的功能 semver-field:主要標籤:
- 刪除
- 名稱:已棄用的功能標題:已棄用的功能 semver-field:次要標籤:
- 已棄用 - 名稱:未知標題:其他更改