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
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Eseguire i worklow di GitHub su runner potenziati
Utilizzare l nesting nativo dei CSS
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Utilizzare il trigger SQL con le Azure Function
Gestione degli stili CSS con le regole @layer
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Creare una custom property in GitHub
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Collegare applicazioni server e client con .NET Aspire
Ottenere un token di accesso per una GitHub App