Github Actions CI

Continuous Integration is de praktijk van het automatisch samenvoegen van veranderingen van verschillende programmeurs.

We gebruiken GitHub Actions om automatische acties uit te voeren.

Kijk in de Actions tab in de repository voor de huidige status.

Stappen

Er zijn een aantal losse workflows, deze draaien los van elkaar

CI Create Sentry Releases Sonarcloud analyse

CI

De build doet een aantal stappen,

  • Compileren van Typescript en Scss naar Javascript en css
  • PHP dependencies installeren en de autoloader optimizen
  • De nieuwe versie naar csrdelft/productie pushen
  • Tests draaien

In csrdelft/csrdelft.nl is een secret gedefinieerd met een private key waarvan de public key in de csrdelft/productie repo is opgegeven als lees/schrijf deploy key. Dit zorgt ervoor dat CI mag pushen naar csrdelft/productie. Deze key is gebonden aan de repository en zou dus moeten blijven bestaan ongeacht van leden van de organisatie.

Create Sentry Releases

Maakt een nieuwe release in Sentry, hierdoor kunnen commits aan foutmeldingen geknoopt worden

Sonarcloud analyse

Hier gaat Sonarcloud over de code heen om te checken of alles akkoord is. Hierna wordt het rapport naar sonarcloud.io gestuurd.

Op sonarcloud.io is informatie te vinden over wat sonarcloud allemaal gevonden heeft. Hier kun je ook komen door op de badge te klikken in README.md: Maintainability Rating