Quando si lavora in progetti molto complessi, è probabile che per mantenere i costi non ci siano sufficienti runner/agent assegnati per garantire che tutte le policy (ad esempio le pipeline/workflow per compilare il nostro codice). Questo implica che i workflow potrebbero essere eseguiti anche dopo ore, un tempo non sufficientemente comodo per gli sviluppatori che, spesso, vogliono un feedback molto velocemente.
Sebbene lo script seguente non aiuti in questo senso, proprio perchè l'unica soluzione sarebbe quella di acquistare più runner per avviare più workflow in parallelo, l'idea è che, perlomeno, avvisiamo l'utente che abbiamo ricevuto la sua pull request e che tutte le policy verranno valutate quanto prima.
name: Thanks on: pull_request: types: [opened, reopened] jobs: submit-comment: runs-on: ubuntu-latest steps: - name: 'Comment on PR' uses: actions/github-script@v6 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, body: 'Grazie per aver creato una PR! Processeremo le policy il prima possibile' });
L'esempio qui sopra, infatti, non è nient'altro che un altro workflow che verrà messo in esecuzione, sicuramente però più breve di quelli che compileranno l'applicazione o che dovranno effettuare check di compliance complessi (esempio esecuzione di static code analysis, sicurezza di componenti di terze parti etc.). Quando una pull request verrà aperta, infatti, il workflow verrà messo in esecuzione immediatamente (a seconda della disponibilità dei runner) e verrà mandato un messaggio sulla issue corrispondente alla pull request avvisando che stiamo processando la richiesta.
Di nuovo, non stiamo evitando il problema che c'è alla radice ma, se non altro, stiamo provvedendo a dare un feedback adeguato agli utenti che rimanrranno in attesa.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Definire stili a livello di libreria in Angular
Applicare un filtro per recuperare alcune issue di GitHub
Usare una container image come runner di GitHub Actions
Generare la software bill of material (SBOM) in GitHub
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Eseguire le GitHub Actions offline
Routing statico e PreRendering in una Blazor Web App
Sostituire la GitHub Action di login su private registry
Eseguire i worklow di GitHub su runner potenziati
Creare una custom property in GitHub
Recuperare l'ultima versione di una release di GitHub
I più letti di oggi
- ASPItalia.com Future Web Conference: 15 gennaio 2008, L'Aquila
- Azure Mobile Services: costruire il back-end per le app
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Come faccio per inserire un nuovo record in un database?
- Aggiungere temi custom a Blazor
- Usare il RoleManager per gestire i ruoli con ASP.NET Identity
- Le novità di ASP.NET Core 7 e Blazor
- Stilizzare una tabella HTML usando le classi CSS di Bootstrap
- Cambiare tema Dark e Light a runtime nelle Universal App
- Spostare app service e service plan di Azure tra i resource group