Um gerador rápido de changelog que origina alterações de PRs e problemas do GitHub, organizados por rótulos.
Crie um changelog desde a última versão do GitHib até a tag/commit git HEAD atual para o repositório git no diretório atual:
crônica
Crie um changelog com todas as alterações da v0.16.0 até a tag/commit git HEAD atual para o repositório git no diretório atual:
crônica --since-tag v0.16.0
Crie um changelog entre duas tags específicas para um repositório no caminho fornecido
crônica --since-tag v0.16.0 --until-tag v0.18.0 ./path/to/git/repo
Crie um changelog e adivinhe a versão de lançamento a partir do conjunto de alterações no changelog
crônica -n
Apenas adivinhe a próxima versão de lançamento com base no conjunto de alterações (não crie um changelog)
crônica próxima versão
curl -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b /usr/local/bin
...ou você pode especificar uma versão de lançamento e um diretório de destino para a instalação:
curl -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b <DESTINATION_DIR> <RELEASE_VERSION>
Caminhos de pesquisa de configuração:
.chronicle.yaml
.chronicle/config.yaml
~/.chronicle.yaml
<XDG_CONFIG_HOME>/chronicle/config.yaml
Opções de configuração (valores de exemplo são o padrão):
# o formato de saída do changelog# igual a -o, --output e CHRONICLE_OUTPUT env varoutput: md# suprime todas as saídas de registro# igual a -q ; CHRONICLE_QUIET env varquiet: false# all logging optionslog: # usa log estruturado # igual a CHRONICLE_LOG_STRUCTURED env var estruturado: false # o nível de log # igual a CHRONICLE_LOG_LEVEL env var level: "warn" # local para gravar o arquivo de log (o padrão é não tem um arquivo de log) # igual ao arquivo CHRONICLE_LOG_FILE env var: ""# adivinhe qual será a próxima versão de lançamento é baseado na versão atual e no conjunto de alterações (não pode ser usado com --until-tag)# igual a --speculate-next-version / -n ; CHRONICLE_SPECULATE_NEXT_VERSION env varspeculate-next-version: false# substitui a tag git inicial do changelog (o padrão é detectar a última versão automaticamente)# igual a --since-tag / -s ; CHRONICLE_SINCE_TAG env varsince-tag: ""# substitui a tag git final para o changelog (o padrão é usar a tag ou confirmar em git HEAD)# igual a --until-tag / -u ; CHRONICLE_SINCE_TAG env varuntil-tag: ""# se a versão de lançamento atual for <v1.0, então as alterações significativas irão ultrapassar o campo da versão secundária# igual a CHRONICLE_ENFORCE_V0 env varenforce-v0: false# o título usado para o changelog# igual a CHRONICLE_TITLEtitle: Changelog# todas as configurações relacionadas ao githubgithub:
# o host do github a ser usado (substituir para implantações corporativas do github) # igual a CHRONICLE_GITHUB_HOST env var host: github.com
# não considere quaisquer problemas ou PRs com qualquer um dos rótulos fornecidos # igual a CHRONICLE_GITHUB_EXCLUDE_LABELS env var exclude-labels:
- duplicado
- pergunta
- inválido
- não vai consertar
- não vai consertar
- liberar-ignorar
- changelog-ignorar
- ignorar
# considere PRs mesclados como entradas candidatas no changelog (deve ter um rótulo correspondente de uma entrada 'github.changes') # igual a CHRONICLE_GITHUB_INCLUDE_PRS env var include-prs: true # considere problemas fechados como entradas candidatas no changelog (deve ter um rótulo correspondente de um entrada 'github.changes') # igual a CHRONICLE_GITHUB_INCLUDE_ISSUES env var include-issues: true # problemas só podem ser considerado para candidatos de changelog se eles tiverem PRs vinculados que foram mesclados (nota: NÃO requer que github.include-issues seja definido) # igual a CHRONICLE_GITHUB_ISSUES_REQUIRE_LINKED_PRS env var Issues-require-linked-prs: false
# lista de definições de quais rótulos aplicados a problemas ou PRs constituem uma entrada no changelog. Essas entradas também determinam # a seção do changelog, o título do changelog e o campo semver que melhor representa a classe de mudança. # nota: não pode ser definido por meio de alterações nas variáveis de ambiente: [...<lista de entradas>...] # Consulte a seção "Definições de alteração padrão do GitHub" para obter mais detalhes O configurável github.changes é uma lista de mapeamentos, cada um com os seguintes campos:
name : [string] singular, minúsculo, separado por hífen (sem espaços) nome que melhor representa a mudança (por exemplo, "alteração significativa", "segurança", "recurso adicionado", "aprimoramento", "novo recurso", etc).
title : [string] título da seção no changelog listando todas as entradas.
semver-field : [string] as entradas de alteração irão ultrapassar o respectivo campo semver ao adivinhar a próxima versão de lançamento. Valores permitidos: major , minor ou patch .
labels : [lista de strings] todos os rótulos de problemas ou PR que devem corresponder a esta seção de alteração.
O valor padrão para github.changes é:
- nome: correções de segurança título: Correções de segurança semver-field: rótulos de patch:
- segurança
- vulnerabilidade
- nome: recurso adicionado título: Recursos adicionados semver-field: rótulos secundários:
- aprimoramento
- recurso
- menor
- nome: correção de bug título: Correções de bugs semver-field: rótulos de patch:
- erro
- consertar
- correção de bug
- correção
- nome: título do recurso de última hora: Mudanças de última hora semver-field: grandes gravadoras:
- quebrando
- incompatível com versões anteriores
- mudança significativa
- recurso de quebra
- principal
- nome: recurso removido título: Recursos removidos semver-field: rótulos principais:
- removido
- nome: recurso obsoleto título: Recursos obsoletos semver-field: rótulos secundários:
- obsoleto - nome: título desconhecido: alterações adicionais