Quando ci troviamo a lavorare in un ambiente più o meno complesso, sicuramente vogliamo proteggere il codice sorgente, o meglio qualche branch principale come main/master, da commit non inattesi. Possiamo, infatti, impostare quelle che vengono chiamate branch policies o branch protection rules, per fare in modo che l'update di un determinato branch possa essere fatto solo ed esclusivamente tramite pull request, così che tutte le change possano essere validate manualmente (tramite un approval review) oppure automaticamente (grazie ad una o più GitHub Action che possono testare la build, il lint, eseguire i test e così via).
Spesso però accade che non è sufficiente un solo commit e quindi non sempre abbiamo bisogno che vengano eseguiti tutti i check ad ogni update della pull request stessa. Per fare in modo che questi sistemi non partano in automatico, è sufficiente aggiungere nel messaggio di commit una stringa tra [skip ci], [ci skip], [no ci], [skip actions], o [actions skip].
Come si può notare dall'immagine, il primo commit non includeva nessuna delle stringhe che escludevano i trigger, quindi la GitHub Action associata alla branch protection rule è partita automaticamente e ha validato il sistema (da notare il tick verde). Nel secondo update, invece, è stata aggiunta la magic string che fa in modo che non parta nessun check. In questo secondo caso è bene notare che, tuttavia, la pull request non può essere mergiata poichè non rispetta la branch protection rule e, quindi, questo sistema può essere utilizzato solamente per update intermedi di una pull request.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Change tracking e composition in Entity Framework
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Ordine e importanza per @layer in CSS
Implementare l'infinite scroll con QuickGrid in Blazor Server
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Sostituire la GitHub Action di login su private registry
Gestire liste di tipi semplici con Entity Framework Core
Cancellare una run di un workflow di GitHub
Utilizzare Tailwind CSS all'interno di React: installazione
Code scanning e advanced security con Azure DevOps
I più letti di oggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Creare una libreria CSS universale: Cards
- Eseguire script pre e post esecuzione di un workflow di GitHub