Reutilización de workflows y creación de releases 2324
De Wiki de EGC
Reutilización de workflows y creación de releases
En GitHub puede hacerse crearse una Release de un repositorio en https://github.com/<tu org>/<tu repo>/releases. Para automatizar el proceso de generación de una release a partir de un tag (siempre y cuando dicho código haya pasado las pruebas) podemos combinar el workflow django.yml con un pasos posterior de release. Para ello:
- Cree un nuevo workflow en la carpeta de los workflows con el siguiente contenido:
name: release
on:
push:
tags:
- '*'
permissions:
contents: write
jobs:
buildTest:
uses: <tu org>/<tu repo>/.github/workflows/django.yml@master
secrets:
CODACY_PROJECT_TOKEN: ${{secrets.CODACY_PROJECT_TOKEN}}
release:
needs: buildTest
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Release
uses: softprops/action-gh-release@v1
- Dado que las variables de entorno y secrets no se comparten entre workflows, hay que pasarlos explicitamente de un worflow al workflow reutilizable. Para convertir el workflow django.yml en reutilizable tenemos que modifcarlo añadiendo:
...
on:
push:
branches:
- master
workflow_call:
secrets:
CODACY_PROJECT_TOKEN:
required: true
...
Para crear un nuevo tag hagamos:
git tag -a v1.0.0 -m “mensaje para añadir al tag que también aparecerá en la release”
git push origin v1.0.