kernelci / kernelci/kernelci-pipeline
Reorganise pipeline YAML config
- Dominant language
- Python
- Stars
- 11
- Forks
- 40
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 14
Description
Historically, the `kernelci-core` repository had its configuration for builds and boot tests directly built-in as Python dictionaries. Then this got converted to YAML but stayed in the same repository with the code. With the new API & Pipeline, the `kernelci` Python package should be decoupled from the YAML configuration which is really specific to each pipeline instance and client-side services.
It probably makes sense to provide some standard entries such as the public API instances, upstream Git kernel trees, local runtimes (shell, docker) and some job definitions with a basic scheduler. This could be installed in `/etc/kernelci` as is currently the case in the `kernelci/kernelci` Docker image, then users could supply additional files in a local directory with their own specific entries as an overlay. For the production KernelCI instance, these files would be stored in `kernelci-pipeline` as per the current proof-of-concept `pipeline.yaml` file there. The same principle can apply with Jinja2 templates and other configuration files, with a same directory structure as in `/etc/kernelci` but in a local user directory.
- [ ] Investigate whether this would provide a long-term solution to deploy YAML pipeline configuration
- [ ] Plan deprecation for legacy YAML files and related code
- [ ] New proposal implemented
- [ ] Tested on staging with new API
- [ ] Verified that legacy code is not impacted
- [ ] Merged and ready for production deployment
Contributor guide
No contributing guide indexed for this repository
Research direction
Review the kernelci Python package, the configuration bundled in the kernelci Docker image, and the proof-of-concept pipeline.yaml in kernelci-pipeline. First compare the current YAML layout with the proposed /etc/kernelci and local overlay structure. Done means a documented proposal, a legacy deprecation plan, staging validation with the new API, and confirmation that legacy code remains unaffected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, yaml
- Domain
- build-system, devops
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100