Skip to content

Commit c4d15c1

Browse files
ZiyueXu77claude
andcommitted
add federated learning docs and tracking files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 4601688 commit c4d15c1

12 files changed

+4483
-0
lines changed

UPSTREAM_CHECKLIST.md

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
# Quick Checklist: Upstreaming fed_secure Branch
2+
3+
Use this checklist alongside [UPSTREAM_GUIDE.md](./UPSTREAM_GUIDE.md) for a quick reference.
4+
5+
## Pre-Submission (Do First)
6+
7+
### Code Quality
8+
- [ ] Run Python linter: `python ./tests/ci_build/lint_python.py --fix`
9+
- [ ] Run C++ linter: `python ./tests/ci_build/lint_cpp.py`
10+
- [ ] Run clang-tidy: `python3 tests/ci_build/tidy.py --cuda=1`
11+
- [ ] Run R linter: `Rscript tests/ci_build/lint_r.R $(pwd)`
12+
- [ ] Run CMake linter: `bash ./tests/ci_build/lint_cmake.sh`
13+
14+
### Testing
15+
- [ ] Run Python tests: `pytest -v tests/python`
16+
- [ ] Run GPU tests: `pytest -v tests/python-gpu`
17+
- [ ] Run federated tests: `pytest -v tests/test_distributed/test_federated/`
18+
- [ ] Run GPU federated tests: `pytest -v tests/test_distributed/test_gpu_federated/`
19+
- [ ] Run C++ tests: `./testxgboost` (in build directory)
20+
- [ ] All tests pass locally
21+
22+
### Git Workflow
23+
- [ ] Add upstream remote: `git remote add upstream https://github.com/dmlc/xgboost`
24+
- [ ] Fetch latest: `git fetch upstream`
25+
- [ ] Rebase on master: `git rebase upstream/master`
26+
- [ ] Resolve all conflicts
27+
- [ ] Force push to fork: `git push --force origin fed_secure`
28+
- [ ] No merge conflicts remain
29+
30+
### Documentation
31+
- [ ] All public APIs have docstrings/Doxygen comments
32+
- [ ] Parameters documented in `doc/parameter.rst`
33+
- [ ] Tutorial added or planned for `doc/tutorials/`
34+
- [ ] README.md updated if needed
35+
- [ ] Change log entry drafted
36+
37+
## Pull Request Creation
38+
39+
### PR Description
40+
- [ ] Clear title: `[Feature] Add Secure Federated Learning Support`
41+
- [ ] Comprehensive description with:
42+
- [ ] Feature summary
43+
- [ ] Key components list
44+
- [ ] Testing checklist
45+
- [ ] Documentation checklist
46+
- [ ] Performance impact notes
47+
- [ ] Breaking changes (if any)
48+
49+
### PR Setup
50+
- [ ] Base: `dmlc/xgboost:master`
51+
- [ ] Head: `ZiyueXu77/xgboost:fed_secure`
52+
- [ ] Labels added (if possible): `feature`, `plugin`, `gpu`
53+
- [ ] Reviewers requested (if applicable)
54+
55+
## During Review
56+
57+
### Response
58+
- [ ] Respond to comments within 48-72 hours
59+
- [ ] Test all suggested changes before committing
60+
- [ ] Push updates after addressing feedback
61+
- [ ] Request clarification on unclear comments
62+
63+
### Commits
64+
- [ ] Commit messages are clear and descriptive
65+
- [ ] Reference review comments in commit messages
66+
- [ ] Squash commits if requested by reviewers
67+
68+
## CI Monitoring
69+
70+
### Check Status
71+
- [ ] GitHub Actions: all checks pass ✅
72+
- [ ] BuildKite: pipeline succeeds ✅
73+
- [ ] No linter failures
74+
- [ ] No test failures
75+
76+
### If CI Fails
77+
- [ ] Review failure logs
78+
- [ ] Reproduce locally if possible
79+
- [ ] Fix issues and push updates
80+
81+
## Before Merge
82+
83+
### Final Checks
84+
- [ ] All CI checks green
85+
- [ ] At least 1 committer approval
86+
- [ ] All review comments resolved
87+
- [ ] Documentation complete
88+
- [ ] No merge conflicts
89+
- [ ] No outstanding reviewer objections
90+
91+
## Post-Merge
92+
93+
### Follow-Up
94+
- [ ] Monitor CI on master branch
95+
- [ ] Watch for related issues
96+
- [ ] Respond to user questions
97+
- [ ] Address any follow-up items
98+
- [ ] Consider blog post or tutorial
99+
100+
---
101+
102+
## Quick Commands Reference
103+
104+
### Setup
105+
```bash
106+
git remote add upstream https://github.com/dmlc/xgboost
107+
git fetch upstream
108+
```
109+
110+
### Rebase
111+
```bash
112+
git checkout fed_secure
113+
git rebase upstream/master
114+
# Resolve conflicts, then:
115+
git push --force origin fed_secure
116+
```
117+
118+
### Run All Linters
119+
```bash
120+
python ./tests/ci_build/lint_python.py --fix
121+
python ./tests/ci_build/lint_cpp.py
122+
python3 tests/ci_build/tidy.py --cuda=1
123+
Rscript tests/ci_build/lint_r.R $(pwd)
124+
bash ./tests/ci_build/lint_cmake.sh
125+
```
126+
127+
### Run All Tests
128+
```bash
129+
export PYTHONPATH=./python-package
130+
pytest -v tests/python
131+
pytest -v tests/python-gpu
132+
pytest -v tests/test_distributed/test_federated/
133+
pytest -v tests/test_distributed/test_gpu_federated/
134+
cd build && ./testxgboost
135+
```
136+
137+
### Squash Commits
138+
```bash
139+
git rebase -i HEAD~N # N = number of commits
140+
# Change 'pick' to 'squash' in editor
141+
git push --force origin fed_secure
142+
```
143+
144+
---
145+
146+
## Estimated Timeline
147+
148+
| Phase | Duration |
149+
|-------|----------|
150+
| Pre-submission prep | 1-3 days |
151+
| Initial review | 1-2 weeks |
152+
| Review iterations | 2-4 weeks |
153+
| Final approval | 1 week |
154+
| **Total** | **4-7 weeks** |
155+
156+
---
157+
158+
## Help & Resources
159+
160+
- 📖 Full Guide: [UPSTREAM_GUIDE.md](./UPSTREAM_GUIDE.md)
161+
- 🌐 Contribution Docs: https://xgboost.readthedocs.io/en/latest/contrib/
162+
- 💬 Forum: https://discuss.xgboost.ai
163+
- 🐛 Issues: https://github.com/dmlc/xgboost/issues
164+
165+
---
166+
167+
**Status Tracking**
168+
169+
Current Status: ⬜ Not Started / 🟡 In Progress / ✅ Complete
170+
171+
- ⬜ Pre-submission checks
172+
- ⬜ PR created
173+
- ⬜ First review received
174+
- ⬜ All feedback addressed
175+
- ⬜ CI passing
176+
- ⬜ Approved
177+
- ⬜ Merged
178+
179+
---
180+
181+
*Last updated: [Date]*

0 commit comments

Comments
 (0)