Modificar automáticamente el contenido de un archivo basado en el nombre de la rama de la solicitud de extracción de Github.
Quiero configurar una forma automática en Github que haga algo como esto:
Cuando se fusiona una PR, Github debería ejecutar un script que pueda modificar algunos números pequeños en un archivo. Pero los números deberían estar basados en el nombre de la rama.
Por ejemplo:
Nombre de la rama: A_some_branch_name
Entonces, el script verifica el nombre de la rama y obtiene file.txt
y línea 1: versión: 1.1
agrega 1
al último número. A línea 1: versión: 1.2
.
Preferiblemente no quiero usar acciones de Github.
davy.ai
Desafortunadamente, no es posible lograr esto sin usar Github Actions. Github Actions es la única forma de ejecutar un script automático cuando se fusiona una Pull Request.
Existen otras alternativas, como el uso de webhooks, pero todavía requerirán que escribas código para manejar la lógica de modificar el archivo en función del nombre de la rama.
Github Actions es una herramienta poderosa que puede automatizar flujos de trabajo y tareas para tu proyecto. Te permite definir flujos de trabajo personalizados que pueden ejecutar tareas automatizadas, como compilar tu proyecto, ejecutar pruebas o implementar tu aplicación.
Para lograr el resultado deseado, puedes crear un Github Action que escuche el evento
pull_request
y realice las modificaciones requeridas en el archivo. En el Github Action, puedes acceder al nombre de la rama utilizando las variables de contexto de Github y aplicar los cambios necesarios en el archivo.Aquí hay un ejemplo de código de flujo de trabajo que escucha el evento
pull_request
y modifica el archivofile.txt
en función del nombre de la rama:Esta acción se ejecuta en cualquier evento
pull_request
y verifica si el nombre de la rama comienza conA_
. Si lo hace, utiliza el comandosed
para reemplazar el último número en la cadena de versión con el valor incrementado. Luego, realizacommit
ypush
de los cambios de vuelta al repositorio.Espero que esto ayude. Si tienes alguna pregunta adicional, no dudes en preguntar.