HBV505M - Assignment 5 Overview - 4 October 2024
Háskóli Íslands: Software Quality Management
The fifth assignment for the HPV505M Software Quality Management course at the University of Iceland focuses on continuous integration. Students are required to use a toy project to implement CI/CD practices. The main objectives include:
- Understanding the purpose of continuous integration
- Forking a repository (Python or Java implementation)
- Creating a baseline GitLab CI configuration
- Adding caching and dependencies
- Implementing test result reporting
- Adding pipeline status and code coverage badges
- Publishing a static website with the coverage report
The assignment emphasizes the importance of running code on multiple machines to ensure reproducibility and support for various systems and architectures. Students are encouraged to review the provided slides for both Python and Java variants.
Key grading criteria include:
- Creating a new milestone
- Implementing a baseline YAML file
- Adding dependency caching
- Including test result reporting
- Adding badges for pipeline status and code coverage
- Publishing a static website with the coverage report
Optional tasks include artifact passing between stages and using PDM with the meson-python backend for personal projects. The instructor recommends using pixi-based images but notes it is not mandatory.
The assignment also includes stretch questions related to Docker and the use of musl over glibc. Practice projects and examples are provided in the appendix and on GitHub/GitLab for reference.
128261638 Bytes