Bij elke push naar de master
branch wordt de CI/CD pipeline getriggerd.
De volgende acties worden uitgevoerd:
-
De bachelorproef en bachelorproefvoorstel LaTeX bestanden worden gecompileerd naar overeenkomstige PDF-bestanden
-
De bachelorproef wordt geanalyseerd a.d.h.v. dit script. Er wordt o.a. bekeken hoeveel pagina's het uiteindelijke PDF bevat, hoeveel tabellen, citaties en figuren er aanwezig zijn. Tenslotte wordt er ook het totaal aantal woorden geteld. In deze laatste metric wordt er niet rekening gehouden met woorden aanwezig in de voorblad, inhoudstabel, bijlagen, tabellen of figuren (figuurbeschrijving), enkel zuiver tekst.
-
Er wordt tenslotte een release aangemaakt waarbij de hierjuist beschreven metrics in de body van de release staan en de PDF's als binaries bijlagen toegevoegd zijn.
Wil je dit ook gebruiken? Volg dan de volgende stappen:
-
Activeer Github Actions voor jouw repo. Belangrijk is dat de structuur van jouw repo onveranderd blijft van de template repo van Hogent
-
git pull
lokaal zodat de CI/CI.yaml
-bestand gedownload wordt. -
Vervang de CI/CD
.yaml
-bestand met de mijne -
Voeg de awk script en de python script in de
bachproef/
folder. -
git push
-
???
-
Profit
-
Er wordt momenteel een awk-script gebruikt om alle .tex bestanden recursief te combineren in één grote tex voor verdere analyse, aangezien de hoofd .tex een kleine bestand is met meerdere
\input
's. Dit awk-script wordt als eerst opgeroepen in de python script vooraleer data processing kan gebeuren. Het zou beter zijn mocht de awk script vervangen worden door python code als een methode in het python script. -
Er wordt in de pipeline momenteel één job met een groot aantal steps gebruikt. Deze zou beter opgeplist worden in 3 jobs: compilatie, analyse en release
-
Extra metrics toevoegen:
- percentage gedetecteerd plagiaat (misschien kunnen we van Hogent hiervoor toegang krijgen tot hun plagiaatdetectie API?)
- andere ideeën?
-
De analyse script in een aparte folder 'scripts' plaatsen