Artículo
Alberto Fuentes · Ago 31 Lectura de 2 min

Un sencillo bot de código para incrementar automáticamente la versión del paquete

¡Hola desarrolladores!

Cuando desarrollas con ObjectScript Package Manager, un aspecto crucial es la versión del paquete, que situamos en el fichero module.xml. Cuando añadimos cambios al paquete y estamos listos para publicar una nueva versión del paquete en el registro, también necesitamos aumentar el número de versión. Esto está claro, pero es un poco molesto, y a menudo podemos olvidarnos de hacerlo. 

Este breve artículo os ayudará a automatizar ese proceso.

Probot logo

Supón que estás usando Github como repositorio de código. En este caso, es posible usar Github Actions y el bot de Github que, por ejemplo, aumentarán la versión del módulo con cada push en la rama principal del repositorio.

Añade el siguiente fichero en la carpeta ./github/workflows de tu repositorio:

build-bump.yml

name: versionbump


on:

push:

branches:

- master

- main

pull_request:

branches:

- master

- main

release:

types:

- released


jobs:

build:

runs-on: ubuntu-latest

steps:

- uses: actions/checkout@v2

- name: Bump version

run: |

git config --global user.name 'ProjectBot'

git config --global user.email 'bot@users.noreply.github.com'

VERSION=$(sed -n '0,/.*<Version>\(.*\)<\/Version>.*/s//\1/p' module.xml)

VERSION=`echo $VERSION | awk -F. '/[0-9]+\./{$NF++;print}' OFS=.`

sed -i "0,/<Version>\(.*\)<\/Version>/s//<Version>$VERSION<\/Version>/" module.xml

git add module.xml

git commit -m 'auto bump version'

git push

Como puedes ver, este escenario del workflow Github Actions contiene una sección Bump version que usa el usuario ProjectBot de Github para hacer cambios en module.xml y aumentar la versión del paquete.

¡Y eso es todo! El fichero de automatización lo tienes en la plantilla básica para desarrollo. Así que si añades este fichero en tu repositorio, la automatización se realizará de forma automática.

Todo el mérito es de @Dmitry Maslennikov y su proyecto; y de Github por incluir esta útil herramienta para desarrolladores.

Happy coding!

1
0 27
Debate (0)2
Inicie sesión o regístrese para continuar