Skip to main content

GitHub actions

Questa pagina contiene tutte le informazioni riguardanti i workflow creati su Git Hub.

Deploy su Devel

Sono state definite due actions nel repository: https://github.com/AppQuality/crowd_wp_platform che permettono di buildare e deployare l'immagine di ECR specificando il nome del branch da deployare sull'istanza di devel:

https://github.com/AppQuality/crowd_wp_platform/blob/master/.github/workflows/deploy.yml
https://github.com/AppQuality/crowd_wp_platform/blob/master/.github/workflows/push.yml

Le due actions devono essere effettuate nel seguente ordine:

  1. Build and Push to ECR
  2. Deploy to Istance

N.B. Bisogna attendere qualche minuto prima di poter visualizzare correttamente il deploy su https://dv-crowd.app-quality.com/.

Traduzioni

Sono state create delle actions su Git Hub per automatizzare i processi di traduzione dei moduli di Integration Center.

Worflow #1

Al push di una commit sul branch develop viene triggerato il seguente workflow del repository: https://github.com/AppQuality/crowd_wp

https://github.com/AppQuality/crowd_wp/blob/develop/.github/workflows/main.yml

Per generare i file necessari per le traduzioni dei vari moduli, il messaggio di commit deve contenere una tra le seguenti parole:

  • i18n
  • translate
  • translation
  • translations
Worflow #2

Questo processo entra step by step in ogni submodulo, dove effettua il checkout sul branch specificato (o master di default), triggerando a sua volta il seguente workflow del repository: https://github.com/AppQuality/generate-wp-i18n-action

https://github.com/AppQuality/generate-wp-i18n-action/blob/main/action.yml

Questa action genera tramite wp-cli i file .pot, .po, e per ogni file .po genera i file .json necessari.

Una volta generati i file, viene verificato che ci siano nuovi file da committare con il comando git status --porcelain, e vengono commitati i file generati sul repository del modulo corrente.

Dopo aver finito il giro di tutti i moduli viene eseguito si riprende l'esecuzione del workflow #1.

Viene eseguito git submodule update --remote per aggiornare i riferimenti di tutti i moduli.

Infine verificando con il comando git status --porcelain, vengono commitate tutte le modifiche dei file per le traduzioni generati dai moduli.