Switch jobs to Kubernetes
What does this MR do?
Summary
- Migrate CI/CD jobs from shared runners to Kubernetes runners
- Switching between kubernetes runners and gitlab-org runners is easy
- Add note about blue/green kubernetes runners
- Extract Kubernetes runner configuration to a dedicated include file for better maintainability
Changes
New Kubernetes runner configuration
-
New file:
.gitlab/ci/_kubernetes.gitlab-ci.yml- centralized Kubernetes runner configuration - Defines resource limits for different job types (unit tests, generated file checks)
- Configures CPU and memory requests/limits for optimal pod scheduling. Removed CPU limits to allow for better CPU utilization.
CI job migration
- Applied
.kubernetes runnerextension to 20+ CI jobs across multiple stages:-
Build stage:
clone test repo,rpm verify fips - QA stage: All QA jobs including version checks, module validation, generated file checks, mage tests, and documentation linting
-
Test stage:
fuzz variable mask -
Coverage stage:
test coverage report - Package stage: All packaging jobs
-
Postrelease stage:
package test variables,static QA,stable gitlab release - Docs stage: Documentation review jobs
-
Build stage:
Why was this MR needed?
What's the best way to test this MR?
What are the relevant issue numbers?
Edited by Georgi N. Georgiev | GitLab