This shows you the differences between two versions of the page.
tsc:laboratoare:laborator-07 [2024/04/24 16:23] giorgiana.vlasceanu [Exercitii] |
tsc:laboratoare:laborator-07 [2025/04/24 15:33] (current) robert.caplan [Exercitii] |
||
---|---|---|---|
Line 104: | Line 104: | ||
==== Exercitii ==== | ==== Exercitii ==== | ||
- | - Clonati [[https://github.com/Ingineria-Calculatoarelor-ACS-UPB/tree-traversal|repo-ul]]. | + | Pentru a clona [[https://github.com/cs-pub-ro/systems-testing | repo-ul]] și a accesa resursele aferente laboratorului: |
- | - Folositi DoxyGen pentru a genera documentatia deja existenta in acest proiect. Verificati fisierul ''html/index.html'' pentru a observa ce functii sunt deja documentate. | + | |
- | - Adaugati Docstrings si pentru celelalte functii din fisierul ''tree.py''.(TODO 1) | + | <code bash> |
+ | student@tsc:~$ git clone git@github.com:cs-pub-ro/systems-testing.git | ||
+ | student@tsc:~$ cd systems-testing/laboratories | ||
+ | student@tsc:~/laboratories$ cd cicd-documentation | ||
+ | </code> | ||
+ | |||
+ | Dacă aveți local [[https://github.com/cs-pub-ro/systems-testing | repo-ul]], asigurați-vă că aveți ultima versiune. | ||
+ | |||
+ | <code bash> | ||
+ | student@tsc:~$ cd systems-testing | ||
+ | student@tsc:~$ git pull | ||
+ | </code> | ||
- Implementati functiile ''_printPreorderTree'' si ''_printPostorderTree'' si scrieti cel putin 2 unit teste pentru functia ''_find''. | - Implementati functiile ''_printPreorderTree'' si ''_printPostorderTree'' si scrieti cel putin 2 unit teste pentru functia ''_find''. | ||
- In GitHub, creati un action care ruleaza unit testele pentru fiecare commit nou adaugat pe branch-ul ''main''. Pentru a putea face acest lucru, faceti un fork al repository-ului si actualizati branch-ul ''main'' al fork-ului nou creat. | - In GitHub, creati un action care ruleaza unit testele pentru fiecare commit nou adaugat pe branch-ul ''main''. Pentru a putea face acest lucru, faceti un fork al repository-ului si actualizati branch-ul ''main'' al fork-ului nou creat. | ||
- Actualizati action-ul creat anterior, astfel incat acesta sa se ruleze numai atunci cand se creaza un pull request.([[https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request|Hint]]) | - Actualizati action-ul creat anterior, astfel incat acesta sa se ruleze numai atunci cand se creaza un pull request.([[https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request|Hint]]) | ||
- Creati o noua actiune care ruleaza doxygen, doar atunci cand se creeaza un nou tag cu o noua versiunea a aplicatiei, si salveaza documentatia ca un artefact.([[https://github.com/marketplace/actions/upload-a-build-artifact|Hint]]) | - Creati o noua actiune care ruleaza doxygen, doar atunci cand se creeaza un nou tag cu o noua versiunea a aplicatiei, si salveaza documentatia ca un artefact.([[https://github.com/marketplace/actions/upload-a-build-artifact|Hint]]) | ||
+ | - Folositi DoxyGen pentru a genera documentatia deja existenta in acest proiect. Verificati fisierul ''html/index.html'' pentru a observa ce functii sunt deja documentate. | ||
+ | - Adaugati Docstrings si pentru restul functiilor din fisierul ''tree.py''. Rulati DoxyGen inca o data pentru a observa modificarile. | ||
<hidden> | <hidden> | ||
- Actualizati pipeline-ul care ruleaza unit testele, astfel incat acesta sa trimita un mesaj pe Teams in cazul in care nu au trecut toate unit testele. ([[https://medium.com/javarevisited/never-overlook-a-broken-build-again-get-notified-in-microsoft-teams-d020a24292cd|Hint]]) | - Actualizati pipeline-ul care ruleaza unit testele, astfel incat acesta sa trimita un mesaj pe Teams in cazul in care nu au trecut toate unit testele. ([[https://medium.com/javarevisited/never-overlook-a-broken-build-again-get-notified-in-microsoft-teams-d020a24292cd|Hint]]) | ||
</hidden> | </hidden> | ||
+ | |||
<note tip>Este recomandat sa folositi un fisier .gitignore care va ignora fisierele ce nu sunt necesare a fi incarcate in repo (cum ar fi fisierele executabile compilate). Acest fisier trebuie adaugat in folder-ul repository-ului (preferabil in root-ul acestuia) si adaugat in remote cu urmatorul commit. Un exemplu de continut pentru acest fisier gasiti [[https://pastebin.com/hdiHVEMS|aici]].</note> | <note tip>Este recomandat sa folositi un fisier .gitignore care va ignora fisierele ce nu sunt necesare a fi incarcate in repo (cum ar fi fisierele executabile compilate). Acest fisier trebuie adaugat in folder-ul repository-ului (preferabil in root-ul acestuia) si adaugat in remote cu urmatorul commit. Un exemplu de continut pentru acest fisier gasiti [[https://pastebin.com/hdiHVEMS|aici]].</note> |