Chi si approccia per la prima volta al mondo delle GitHub Actions, può trovare una curva di apprendimento piuttosto elevata poichè sono tanti gli strumenti che deve imparare, da git allo YAML, fino alla gestione dell'infrastruttura che manderà in esecuzione il workflow. Inoltre, anche per i più esperti di GitHub è normale spendere molto tempo nel rifinire un workflow e si sa che ci sono spesso molti tempi "morti", poiché tra la scrittura e la verifica della funzionalità del codice YAML scritto, bisogna attendere il completamento del workflow che, talvolta, può richiedere ore.
A questo scopo nasce Act, un tool che consente di emulare il runner di GitHub per poter eseguire e testare le GitHub Actions offline, senza lasciare l'ambiente di sviluppo.
Act può essere installato come estensione della CLI di GitHub, oppure tramite le classiche piattaforme come Homebrew, Scoop, Chocolatey, ecc.:
gh extension install https://github.com/nektos/gh-act
A questo punto, possiamo entrare nel nostro repository e configurare il primo workflow di GitHub:
cd my-repo mkdir -p .github/workflows touch .github/workflows/my-workflow.yml
Possiamo quindi aprire il workflow e iniziare a scrivere del codice per simulare una prima esecuzione:
name: My Workflow on: [push] jobs: build: runs-on: ubuntu-latest steps: - name: Print Hello run: echo "Hello, ASPItalia.com!"
In questo caso il codice è molto basico per dimostrare le funzionalità dello strumento e, infatti, andremo solamente a stampare sulla console il testo "Hello, ASPItalia.com!". Chiaramente, questo codice varierà in base a ciascun processo che dovremo automatizzare.
Non ci resta che mettere in esecuzione il workflow offline con Act:
gh act
Al primo avvio ci verrà chiesto di scaricare l'immagine del Docker container che verrà messo in esecuzione per emulare l'esecuzione del runner di GitHub. Una volta scaricato, il tool farà l'accesso al remote e scaricherà le ref necessarie per eseguire il workflow e, infine, vedremo stampato a schermo quello che ci aspettiamo.
Sebbene emuli abbastanza bene il comportamento che avremmo sui runner hosted di GitHub, è chiaro che anche Act ha un certo numero di limitazioni, principalmente dovute al fatto che è ancora agli albori dello sviluppo, ma è molto promettente ed è di grande aiuto per chi si approccia per la prima volta al mondo delle GitHub Actions. Maggiori informazioni su Act sono disponibili sul repository di GitHub: https://github.com/nektos/act
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Cancellare una run di un workflow di GitHub
Ricevere notifiche sui test con Azure Load Testing
Eseguire script pre e post esecuzione di un workflow di GitHub
Gestione CSS in Blazor con .NET 9
Creare una custom property in GitHub
Definire stili a livello di libreria in Angular
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Ottenere un token di accesso per una GitHub App
Managed deployment strategy in Azure DevOps
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Gestire gli accessi con Token su Azure Container Registry