🐙GitHub — Actions i regles de protecció de branques
Ja domines els scripts PowerShell del primer capítol? És hora de desplegar-los a GitHub amb Actions i regles de protecció de branques.
Ja domines els scripts PowerShell que vam veure al primer capítol? Si ja has forjat els teus scripts PowerShell per defensar la qualitat a Microsoft Fabric, és hora de desplegar-los al camp de batalla de 🐙 GitHub. En aquest capítol dominarem GitHub Actions i les Branch Protection Rules per automatitzar la vigilància del nostre codi.
Però abans…
Gràcies pel peluix, Manu!!
La nostra estratègia? Convertir la branca main en una fortalesa inexpugnable🏰: només el codi que superi totes les proves de qualitat es podrà fusionar. Per a la branca dev, mantindrem un control estricte, però amb l’agilitat d’un ninja: els errors es reportaran amb claredat, i l’equip podrà decidir si fusiona en circumstàncies especials, sense frenar el desenvolupament.
🔄 El teu camí és Azure DevOps? Si prefereixes aquest dojo d’entrenament, tenim el pergamí sagrat per a tu aquí. Però si segueixes el camí de GitHub, desembeina la katana i continua llegint!
Pas 1: Configurant la GitHub Action 📄 build.yml
La nostra Action 📄build.yml (a 📁.github/workflows/ del teu repositori) orquestrarà l’execució dels scripts PowerShell i ens mantindrà informats directament a cada Pull Request. Com que és en una ruta específica, GitHub Actions la detectarà automàticament i començarà a executar el flux de treball segons els disparadors (on:) que hagis definit.
Punts clau d’aquesta Action:
✨Activació: es dispara amb Pull Requests a main i dev (on: pull_request: branches: ...).
🙏Permisos adequats (permissions:): concedeix el necessari per llegir codi, comentar a les PR i actualitzar els «checks».
🏋️♀️Organització (Setup folders): prepara la carpeta scripts/testResults per als informes XML dels scripts.
💪 Control d’execució: scripts amb id per poder referenciar-ne el resultat (outcome). continue-on-error: true per assegurar que s’executin totes les validacions.
📊 Informes i artefactes: actions/upload-artifact@v4 desa els XML com a artefactes per depurar. EnricoMi/publish-unit-test-result-action@v2 publica un informe de tests detallat als «checks» de la PR.

🔮 Comunicació clara (Comment PR with results): un script d’actions/github-script@v6 crea o actualitza un comentari a la PR amb un resum ✅/❌ de cada validació.
🚫 La clàusula mestra per a main: si algun script falla I la PR és a main, tota l’Action es marca com a fallida (core.setFailed(...)), cosa que bloqueja el merge.
Pas 2: Configurant les regles de protecció de branca a GitHub
Amb l’Action a punt, és hora d’establir les defenses.
Accés a les 🛡️ regles de protecció:
- Al teu repositori de GitHub, ves a ⚙️Settings > Branches.
- Fes clic a Add classic branch protection rule.

Branca main: defensa absoluta!
🗣️ Branch name pattern: main.
🤝 Require a pull request before merging: activa-ho. 🧑🏫 Require approvals: activa-ho (1–2 revisors).
🔥 Require status checks to pass before merging: essencial!
- Activa-ho i selecciona el job de la teva Action (p. ex.:
Test Results). Si aquest «check» falla (gràcies al nostrecore.setFailed), el merge queda bloquejat. - Valora activar
"Require branches to be up to date before merging".

✅Create. Segurament aquí et demanarà la contrasenya.
Si fem que s’executi la nostra Action de dev a main obtindrem una cosa semblant a aquesta:

Veiem que no ens deixa fer el merge (l’opció apareix en gris clar) tot i tenir l’ok d’un revisor, perquè els tests han sortit amb errors.
Branca dev: 🧐 Supervisió i agilitat
➕Add rule per afegir una regla nova.

L’Action informarà dels errors, però no fallarà per si mateixa si la PR no és a main.
🗣️ Branch name pattern: dev.
🤝 Require a pull request before merging: activa-ho (pots ser més flexible amb les aprovacions).
🔥 Require status checks to pass before merging:
- Opció més laxa: no exigir el check
FabricValidation. La decisió de fusionar recau en els revisors, basant-se en el comentari i en els resultats del check.

✅ Create.
Quan creem una Pull Request i s’executi tot, es veurà així:

Veiem com s’han executat els tests i als comentaris ens diu que hi ha errors, però com que tenim l’aprovació, ens apareix l’opció de Merge pull request.
🚀 El teu dojo de qualitat a GitHub ja està operatiu!
Missió complerta! 🥳 Has configurat GitHub Actions i les regles de protecció de branca per crear un sistema de CI/CD robust i adaptat a les teves necessitats. La teva branca main ara està protegida per un escut de qualitat impenetrable, mentre que dev permet un flux de treball àgil però informat.
A cada Pull Request, els teus scripts actuaran com a sentinelles, i asseguraran que només avanci el codi més polit i fiable. Has elevat el teu Ki de desenvolupament, a punt per construir solucions de dades llegendàries amb la confiança que la qualitat et cobreix l’esquena! Continua entrenant i millorant!
T’ha servit? Aplaudeix, sense compte. Pots fer-ho diverses vegades.
Comentaris