Skip to content

Commit df36aa3

Browse files
authored
Merge pull request #5 from Qubinode/copilot/convert-kcli-to-qubinode-pipelines
feat: Convert kcli-pipelines to qubinode-pipelines with three-tier architecture
2 parents 58bef3d + 9eace07 commit df36aa3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+6277
-231
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
## Description
2+
3+
<!-- Provide a brief description of your changes -->
4+
5+
## Type of Change
6+
7+
- [ ] New DAG contribution
8+
- [ ] DAG update/fix
9+
- [ ] Deployment script update
10+
- [ ] Documentation update
11+
- [ ] Other (please describe):
12+
13+
## DAG Information (if applicable)
14+
15+
**DAG Category:** <!-- ocp / infrastructure / networking / storage / security -->
16+
17+
**DAG Name:** <!-- e.g., ocp_initial_deployment -->
18+
19+
**Contributing Project:** <!-- e.g., ocp4-disconnected-helper -->
20+
21+
**Purpose:** <!-- Brief description of what this DAG automates -->
22+
23+
## Checklist
24+
25+
### Required for all PRs
26+
27+
- [ ] My code follows the standards in [CONTRIBUTING.md](../CONTRIBUTING.md)
28+
- [ ] I have updated documentation where necessary
29+
- [ ] I have added/updated comments in complex areas
30+
- [ ] My changes don't break existing functionality
31+
32+
### Required for DAG contributions
33+
34+
- [ ] DAG follows naming convention (snake_case matching filename)
35+
- [ ] DAG uses `"""` (triple double quotes) for bash_command, NOT `'''`
36+
- [ ] DAG uses SSH pattern for host execution (ADR-0046)
37+
- [ ] DAG uses ASCII-only output: `[OK]`, `[ERROR]`, `[WARN]`, `[INFO]`
38+
- [ ] DAG includes category docstring
39+
- [ ] I have validated the DAG syntax locally
40+
- [ ] I have tested the DAG end-to-end
41+
- [ ] I have updated `dags/registry.yaml`
42+
43+
### Validation Evidence
44+
45+
Please provide evidence that you have validated your DAG:
46+
47+
```bash
48+
# Paste output from validation tools here
49+
50+
# Example:
51+
# $ ./airflow/scripts/validate-dag.sh my_dag.py
52+
# [OK] DAG syntax valid
53+
# [OK] DAG standards compliant
54+
55+
# $ ./airflow/scripts/lint-dags.sh my_dag.py
56+
# [OK] Linting passed
57+
```
58+
59+
<!-- Paste validation output here -->
60+
61+
```
62+
63+
```
64+
65+
### Testing Evidence
66+
67+
Describe how you tested your changes:
68+
69+
- [ ] Tested locally with qubinode_navigator
70+
- [ ] Verified create action works
71+
- [ ] Verified delete action works
72+
- [ ] Verified idempotency (can run multiple times safely)
73+
74+
**Test environment:**
75+
- OS: <!-- e.g., RHEL 9, CentOS Stream 9 -->
76+
- kcli version: <!-- if applicable -->
77+
- Airflow version: <!-- e.g., 2.7.3 -->
78+
79+
**Test results:**
80+
<!-- Describe your test results, include screenshots if applicable -->
81+
82+
## Related Issues
83+
84+
<!-- Link to related issues or discussions -->
85+
86+
Closes #
87+
Related to #
88+
89+
## Related ADRs
90+
91+
<!-- List relevant ADRs from qubinode_navigator -->
92+
93+
- [ ] ADR-0045: DAG Standards
94+
- [ ] ADR-0046: SSH Execution Pattern
95+
- [ ] ADR-0047: Deployment Script Repository
96+
- [ ] Other: <!-- List other relevant ADRs -->
97+
98+
## Breaking Changes
99+
100+
<!-- List any breaking changes and migration steps -->
101+
102+
- [ ] No breaking changes
103+
- [ ] Breaking changes (describe below):
104+
105+
## Screenshots (if applicable)
106+
107+
<!-- Add screenshots to help explain your changes -->
108+
109+
## Additional Context
110+
111+
<!-- Add any other context about the pull request here -->
112+
113+
## Post-merge Actions
114+
115+
<!-- Actions to take after merging -->
116+
117+
- [ ] Update external project documentation
118+
- [ ] Notify dependent projects
119+
- [ ] Update qubinode_navigator if needed
120+
- [ ] Other: <!-- Describe -->
121+
122+
---
123+
124+
**By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.**

0 commit comments

Comments
 (0)