File size: 4,012 Bytes
1f2d50a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
# CI Pipeline Setup Guide
## π Current Status
β
**Simplified CI** - `ci.yml` (Active)
- No external dependencies required
- Runs on all PRs and pushes to main/develop
- Core testing, linting, and validation
βΈοΈ **Full CI** - `ci-full.yml` (Disabled)
- Includes Codecov integration
- Manual trigger only until secrets are configured
βΈοΈ **HF Deployment** - `deploy_space.yml` (Disabled)
- Manual trigger only until HF secrets are configured
β
**Documentation** - `docs.yml` (Active)
- Works without external dependencies
β
**GitHub Flow** - `github-flow.yml` (Active)
- Branch management and flow automation
## π Simplified CI Pipeline Features
The current active pipeline (`ci.yml`) includes:
### Core Testing Jobs
- **Unit Tests** - pytest with coverage reporting
- **Integration Tests** - e2e tests and task management validation
- **Code Quality** - ruff linting, black formatting, mypy type checking
- **Security** - basic bandit security scanning
- **Structure Validation** - project file and directory checks
- **PR Checks** - title format and branch naming validation
### Key Benefits
- β
No external secrets required
- β
Fast feedback loop
- β
Comprehensive testing
- β
Local artifact uploads for coverage and security reports
- β
Graceful degradation (warnings instead of failures for non-critical checks)
### Artifacts Generated
- Coverage reports (HTML format, 7-day retention)
- Security scan reports (JSON format, 7-day retention)
## π§ When You're Ready to Enable Full Features
### 1. Enable Codecov Integration
Add these secrets to your repository settings:
- `CODECOV_TOKEN` - Get from codecov.io
Then uncomment the triggers in `ci-full.yml`:
```yaml
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
types: [opened, synchronize, reopened, ready_for_review]
```
### 2. Enable HF Deployment
Add these secrets to your repository settings:
- `HF_TOKEN` - Your Hugging Face API token
- `HF_USERNAME` - Your Hugging Face username
Then uncomment the triggers in `deploy_space.yml`:
```yaml
on:
push:
branches: [ main ]
workflow_dispatch:
```
### 3. Optional: Add Variables
In your repository settings, you can add these variables:
- `HF_SPACE_NAME` - Custom space name (defaults to 'kgraph-mcp-demo')
## π§ͺ Testing the Current Setup
To test the simplified pipeline:
1. **Create a test branch:**
```bash
just task-branch 999
# or manually: git checkout -b feat/999_test_ci_pipeline
```
2. **Make a small change and push:**
```bash
echo "# Test CI" >> test_ci.md
git add test_ci.md
git commit -m "test: verify simplified CI pipeline"
git push -u origin feat/999_test_ci_pipeline
```
3. **Create a PR:**
```bash
just commit-and-pr
# or manually with gh CLI
```
4. **Monitor the workflow runs in GitHub Actions tab**
## π Expected Workflow Results
The simplified CI should complete successfully with:
- β
Unit tests passing
- β
Code quality checks passing
- β
Basic security scan completing
- β
Project structure validation passing
- β
Coverage and security reports uploaded as artifacts
## π¨ Troubleshooting
### Common Issues
1. **Python setup fails** - Check if requirements.txt exists
2. **Tests fail** - Review test logs and ensure test files exist
3. **Linting fails** - Run `just lint` locally first
4. **Structure validation fails** - Ensure all required files/directories exist
### Quick Fixes
```bash
# Fix most issues locally first
just setup # Setup environment
just check # Run all checks
just pre-commit # Pre-commit validation
```
## π Next Steps
1. Test the simplified pipeline with a small PR
2. Add required secrets when ready for full features
3. Monitor initial runs for any remaining issues
4. Gradually enable additional features (Codecov, HF deployment)
The simplified pipeline gives you immediate CI/CD capability while you set up the external integrations at your own pace. |