Bachelor's Thesis

Deployment of new versions of GNOME project

Final Thesis 3.8 MB

Author of thesis: Bc. Štefan Pekník

Acad. year: 2023/2024

Supervisor: Ing. Zbyněk Křivka, Ph.D.

Reviewer: doc. Dr. Ing. Dušan Kolář

Abstract:

This thesis aims to modernize and automate the GNOME release process for new versions of its projects and applications. By integrating GitLab Continuous Integration (CI) pipelines and a dedicated API, the manual intervention required in the release process is significantly reduced. This results in a more efficient, faster, and less error-prone workflow. The work explores the current ftpadmin script, identifies areas for improvement, and develops an API-based solution as its replacement that ensures controlled access via GitLab CI. The proposed solution not only sets the stage for future improvements in GNOME release management, but also serves as a model for other projects that seek to streamline their release processes.

Keywords:

releasing, GNOME, GitLab, CI, API, FastAPI, Python, tarball, FTP, versioning, open source, KDE, JWT, JWKS, security, authentication, authorization

Date of defence

10.06.2024

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Jakou máte zpětnou vazbu z komunity?
  2. Měl jste nějakého technického konzultanta?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. RNDr. Milan Češka, Ph.D. (předseda)
Ing. Zbyněk Křivka, Ph.D. (člen)
doc. Ing. Peter Chudý, Ph.D., MBA (člen)
Ing. Jiří Matoušek, Ph.D. (člen)
Ing. Jaroslav Rozman, Ph.D. (člen)

Supervisor’s report
Ing. Zbyněk Křivka, Ph.D.

Mírná nevyváženost komunikace s vedoucím mi brání dát výbornou známku, ale výsledek považuji za zdařilý a funkční, a především bude využíván v praxi, jak je patrné z dosavadní zpětné vazby.

Evaluation criteria Verbal classification
Informace k zadání

Zadání není náročné na implementaci, ale detailní seznámení se s procesy vydávání nových open source modulů i celého Gnome. Dále bylo třeba navrhnout systém jednodušší na údržbu a celý jej zaintegrovat do GitLabCI používaný pro projekty v rámci Gnome, což se dle prvotní zpětné vazby vývojářské komunity podařilo.

Práce s literaturou

Student si vyhledával literaturu zcela samostatně a zcela pochopitelně hojně využíval zdrojů z komunity okolo Gnome.

Aktivita během řešení, konzultace, komunikace

Z hlediska komunikace s vedoucím a aktivity pracoval student spíše samostatně a s využitím konzultací s odborným vedoucím ve firmě Red Hat či přímo s komunitou okolo Gnome.

Aktivita při dokončování

Finální text práce jsem měl bohužel k dispozici poměrně pozdě, takže nebylo možné vyladit všechny nedostatky. Též došlo k nepochopení, zda je potřeba uvádět do hlaviček souborů autorství, kde nakonec student nešťastně zvolil štábní kulturu běžnou pro interní nástroje Gnome, kde se autorství neuvádí.

Publikační činnost, ocenění

Aktuální implementace je již částečně nasazena a v plánu je i další integrace a vylepšování motivované pozitivní zpětnou vazbou komunity. Zveřejnění programové části práce proběhne v rámci zveřejnění nových verzích nástrojů v Gnome komunitě, pravděpodobně v průběhu léta.

Points proposed by supervisor: 88

Grade proposed by supervisor: B

Reviewer’s report
doc. Dr. Ing. Dušan Kolář

Práce měla náročnou studijní fázi, ale jeji textová část a kód trpí jistými nedostatky. Za naprosto výjimečné ovažuji to, že práce by mohla být využita komunitou.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Náročnost zadání spatřuji ve studijní/analytické fázi a v komunikaci s komunitou, kdy bylo třeba detailně dohodnout změnu a poté pochopit do detailu stávající situaci.

Prezentační úroveň technické zprávy

Práce předpokládá, že čtenář je s problematikou obeznámen, takže některé pasáže jsou hůře pochopitelné. Textově je práce málo sdílná.

60
Formální úprava technické zprávy

Obrázky s diagramy jsou upraveny na šířku strany, takže někdy dost velké. Jazykově jsem našel několik prohřešků, zejména typický, kdy anglické "control" není česky kontrolovat. Nějaké termíny nejsou vysvětleny ani odkazem.

70
Realizační výstup

Výstup je jistě funkční a již byl vyzkoušen v rámci komunity, má šanci být asi nasazen plošně, což je jistě nádhera. Nicméně nedodržuje základní poždavky na komentáře, hlavičky apod. A není k tomu nikde žádná zmínka.

70
Využitelnost výsledků

Výsledky, doufejme, převezme komunita plošně.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Výběr literatury je dobrý, ale referencování je slabší.

80
Points proposed by reviewer: 75

Grade proposed by reviewer: C

Responsibility: Mgr. et Mgr. Hana Odstrčilová