Una acción de GitHub para generar ChangeLog automáticamente de acuerdo con las confirmaciones convencionales.
No dude en enviar una solicitud de extracción o un problema, pero asegúrese de seguir las plantillas.
¡Bienvenidos contribuyentes para mejorar este proyecto juntos!
Si te gusta esto, ¡por favor dame una estrella !
Cree un archivo de flujo de trabajo como .github/workflows/changelog.yml (puede encontrarlo en este repositorio)
name : Generate changelog
on :
release :
types : [created, edited]
jobs :
generate-changelog :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 0
- uses : BobAnkh/[email protected]
with :
REPO_NAME : ' <YourUserName>/<YourRepoName> '
ACCESS_TOKEN : ${{secrets.GITHUB_TOKEN}}
PATH : ' CHANGELOG.md '
COMMIT_MESSAGE : ' docs(CHANGELOG): update release notes '
TYPE : ' feat:Feature,fix:Bug Fixes,docs:Documentation,refactor:Refactor,perf:Performance Improvements 'Nota: Generar ChangeLog necesita todo el historial de confirmación para que deba configurar
fetch-depth: 0conactions/checkoutNOTA: El registro de confirmación comienza con
docs(changelog)odoc(CHANGELOG)no se agregará al ChangeLog
Consulte las notas debajo de la tabla sobre cómo establecer algunos de los parámetros .
| Entradas | Descripción | Requerido | Por defecto |
|---|---|---|---|
| Repo_name | Nombre de repositorio | No | '' Lo que significa repositorio actual |
| Access_Token | Github Token de acceso. Ver notas 1 | Sí | Solo puede pasar ${{secrets.GITHUB_TOKEN}} |
| CAMINO | Ruta a su archivo | No | CHANGELOG.md |
| RAMA | La rama para actualizar el archivo especificado en la ruta | No | '' Lo que significa rama predeterminada |
| Pull_request | Abra una nueva solicitud de extracción si se establece en un nombre de rama de destino. Ver notas 2 | No | '' Lo que significa que no abre la solicitud de extracción por defecto |
| Commit_message | Mensaje de compromiso | No | docs(CHANGELOG): update release notes |
| TIPO | El tipo de compromisos que desea agregar a ChangeLog. Ver notas 3 | No | 'feat:Feature,fix:Fix' |
| Comitvero | El comitvero que desea usar para actualizar el archivo. Ver notas 4 | No | '' Lo que significa un comitora predeterminada |
| Default_scope | El alcance predeterminado para mantener todos los compromisos sin cable | No | general |
| Supress_unscoped | Si excluir comodidades sin cable | No | FALSO |
| Inédito_commits | Si incluir compromisos inéditos en ChangeLog | No | FALSO |
| Regenerer_count | Regenerar en Lanzamientos recientes 'ChangeLog. Ver notas 5 | No | 0 |
| Reemplazar_empty_release_info | Reemplace la información de lanzamiento vacío con algunas palabras | No | FALSO |
Notas 1 : ${{secrets.GITHUB_TOKEN}} tiene un límite de tarifa más pequeño que el token de acceso personal (PAT), por lo que si tiene muchas más solicitudes (compromisos, PRS, etc.) o se enfrenta a un error de 403 tasa de error, use Pat en su lugar.
Notas 2 : PULL_REQUEST debe usarse con BRANCH juntos, ambos deben proporcionar un nombre de rama válido si desea abrir una solicitud de extracción . El GA abrirá una solicitud de extracción de la BRANCH (rama de la cabeza) al PULL_REQUEST (rama base). Deje PULL_REQUEST en blanco si no desea abrir una solicitud de extracción.
Notas 3 : puede definir la palabra clave detectada del mensaje de confirmación y la palabra correspondiente presentada en el tipo de cambio en TYPE de entrada. Por ejemplo, Define feat:Feature,fix:Bug Fixes tendrán mensajes de confirmación como feat(main): add new option para presentarse en ChangeLog en Feature Parte y tener mensajes de confirmación como fix(server): adjust rendering para presentarse en ChangeLog en Bug Fixes .
Notas 4 : COMMITTER debe estar en el formato: 'author <author@email>'
Notas 5 : Todos los lanzamientos no existen en el ChangeLog, por supuesto, se agregarán al ChangeLog. Use este parámetro para regenerar las últimas N lanzas 'ChangeLog. Establecer predeterminado en 0 significa solo generar nuevos lanzamientos. Puede establecer en -1 para regenerar todos los lanzamientos.
Notas 6 : Puede usar el formato a continuación para evitar algunas líneas en la descripción de la versión para aparecer en el ChangeLog:
<!-- HIDE IN CHANGELOG BEGIN --> See CHANGELOG for more details. This line will be hided when changelog is generated. <!-- HIDE IN CHANGELOG END -->
@Bobankh
Debe seguir nuestro código de conducta.
Ver pautas contribuyentes para las convenciones contribuyentes.
Asegúrese de pasar todas las pruebas antes de enviar su código. Puede realizar pytest -ra en el directorio raíz para ejecutar todas las pruebas.
Puede usar el modo local cuando lo desarrolle en su máquina local, aquí está la información de ayuda de la línea de comandos:
usage: main.py [-h] [-m MODE] [-f FILE] [-o OUTPUT] [-t TOKEN]
optional arguments:
-h, --help show this help message and exit
-m MODE, --mode MODE choose to use local-dev mode or on github action mode.
Valid values are 'local' or 'github'
-f FILE, --file FILE configuration file to read from when running local-dev
mode
-o OUTPUT, --output OUTPUT
output file when running local-dev mode
-t TOKEN, --token TOKEN
Github Access TokenYixin Shen | Jonathan Mang | Sebastian Rühl |
Apache-2.0 © Bobankh