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
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: