Reutilización de workflows y creación de releases 2324

De Wiki de EGC
Revisión del 09:35 10 oct 2023 de Brgutierrez (discusión | contribuciones) (Página creada con « = 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....»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

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:

  1. 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
  1. 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.