Generator log perubahan cepat yang mengambil sumber perubahan dari PR dan masalah GitHub, yang disusun berdasarkan label.
Buat log perubahan dari rilis GitHib terakhir hingga tag/komit git HEAD saat ini untuk repo git di direktori saat ini:
kronik
Buat log perubahan dengan semua perubahan dari v0.16.0 hingga tag/komit git HEAD saat ini untuk repo git di direktori saat ini:
kronik --sejak-tag v0.16.0
Buat log perubahan antara dua tag spesifik untuk repo di jalur tertentu
kronik --sejak-tag v0.16.0 --sampai-tag v0.18.0 ./path/ke/git/repo
Buat log perubahan dan tebak versi rilis dari kumpulan perubahan di log perubahan
kronik -n
Coba tebak versi rilis berikutnya berdasarkan serangkaian perubahan (jangan buat changelog)
kronik versi berikutnya
curl -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b /usr/local/bin
...atau, Anda dapat menentukan versi rilis dan direktori tujuan untuk instalasi:
curl -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b
Jalur pencarian konfigurasi:
.chronicle.yaml
.chronicle/config.yaml
~/.chronicle.yaml
Opsi konfigurasi (nilai contoh adalah default):
# format keluaran changelog# sama seperti -o, --output, dan CHRONICLE_OUTPUT env varoutput: md# menekan semua keluaran logging# sama seperti -q ; CHRONICLE_QUIET env varquiet: false# semua opsi logginglog: # gunakan logging terstruktur # sama seperti CHRONICLE_LOG_STRUCTURED env var terstruktur: false # level log # sama seperti CHRONICLE_LOG_LEVEL env var level: "warn" # lokasi untuk menulis file log (defaultnya adalah tidak memiliki file log) # sama seperti CHRONICLE_LOG_FILE env var file: ""# tebak versi rilis berikutnya berdasarkan versi saat ini dan serangkaian perubahan (tidak dapat digunakan dengan --until-tag)# sama dengan --speculate- versi berikutnya / -n ; CHRONICLE_SPECULATE_NEXT_VERSION env varspeculate-next-version: false# mengganti tag git awal untuk changelog (standarnya adalah mendeteksi rilis terakhir secara otomatis)# sama seperti --since-tag / -s ; CHRONICLE_SINCE_TAG env varsince-tag: ""# ganti tag git akhir untuk log perubahan (standarnya adalah menggunakan tag atau melakukan di git HEAD)# sama seperti --until-tag / -u ; CHRONICLE_SINCE_TAG env varuntil-tag: ""# jika versi rilis saat ini < v1.0 maka perubahan yang melanggar akan menimpa bidang versi minor# sama seperti CHRONICLE_ENFORCE_V0 env varenforce-v0: false# judul yang digunakan untuk log perubahan# sama dengan CHRONICLE_TITLEjudul: Changelog# semua pengaturan terkait githubgithub: # host github yang akan digunakan (diganti untuk penerapan perusahaan github) # sama seperti CHRONICLE_GITHUB_HOST env var host: github.com # jangan mempertimbangkan masalah atau PR apa pun dengan label yang diberikan # sama seperti CHRONICLE_GITHUB_EXCLUDE_LABELS env var kecualikan-label: - duplikat - pertanyaan - tidak sah - tidak akan diperbaiki - tidak bisa diperbaiki - rilis-abaikan - changelog-abaikan - mengabaikan # pertimbangkan PR yang digabungkan sebagai kandidat entri log perubahan (harus memiliki label yang cocok dari entri 'github.changes') # sama seperti CHRONICLE_GITHUB_INCLUDE_PRS env var include-prs: true # pertimbangkan masalah yang sudah ditutup sebagai entri log perubahan kandidat (harus memiliki label yang cocok dari a entri 'github.changes') # sama seperti CHRONICLE_GITHUB_INCLUDE_ISSUES env var include-issues: true # isu hanya dapat dipertimbangkan untuk kandidat changelog jika mereka telah menghubungkan PR yang digabungkan (catatan: TIDAK mengharuskan github.include-issues disetel) # sama seperti CHRONICLE_GITHUB_ISSUES_REQUIRE_LINKED_PRS env var issue-require-linked-prs: false # daftar definisi label apa yang diterapkan pada isu atau PR yang merupakan entri log perubahan. Entri ini juga menentukan # bagian changelog, judul changelog, dan kolom semver yang paling mewakili kelas perubahan. # catatan: tidak dapat diatur melalui perubahan variabel lingkungan: [......] # Lihat bagian "Definisi perubahan GitHub default" untuk lebih jelasnya
Konfigurasi github.changes
adalah daftar pemetaan, yang masing-masing menggunakan bidang berikut:
name
: [string] tunggal, huruf kecil, dipisahkan tanda hubung (tanpa spasi) nama yang paling mewakili perubahan (misalnya "perubahan-perubahan", "keamanan", "fitur tambahan", "peningkatan", "fitur baru", dll).
title
: [string] judul bagian di changelog yang mencantumkan semua entri.
semver-field
: entri perubahan [string] akan menabrak bidang semver masing-masing saat menebak versi rilis berikutnya. Nilai yang diperbolehkan: major
, minor
, atau patch
.
labels
: [daftar string] semua label terbitan atau PR yang harus cocok dengan bagian perubahan ini.
Nilai default untuk github.changes
adalah:
- nama: judul perbaikan keamanan: Bidang semver Perbaikan Keamanan: label patch: - keamanan - kerentanan - nama: judul fitur tambahan: Fitur Tambahan bidang semver: label minor: - peningkatan - fitur - kecil - nama: judul perbaikan bug: Perbaikan Bug semver-field: label patch: - serangga - memperbaiki - perbaikan bug - tambalan - nama: judul fitur-melanggar: Perubahan-perubahan yang Dapat Melanggar semver-field: label besar: - melanggar - tidak kompatibel ke belakang - perubahan-perubahan - fitur pemecah - besar - nama: judul fitur dihapus: Fitur dihapus bidang semver: label besar: - DIHAPUS - nama: judul fitur yang tidak digunakan lagi: Fitur yang tidak digunakan lagi bidang semver: label minor: - tidak digunakan lagi- nama: judul tidak diketahui: Perubahan Tambahan