ci: modernize CI pipeline and add example validation#412
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: AswaniSahoo The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Welcome @AswaniSahoo! It looks like this is your first PR to kubeedge/ianvs 🎉 |
8730f80 to
1eee2e6
Compare
1eee2e6 to
c186479
Compare
There was a problem hiding this comment.
Code Review
This pull request updates the minimum Python version requirement to 3.9 in setup.py and corrects a syntax error in the benchmarkingjob.yaml configuration. Feedback was provided to replace the assert statement for the Python version check with an explicit if condition and sys.exit() to ensure the check is not bypassed when running Python with optimization flags.
- Update Python matrix from [3.7, 3.8, 3.9] to [3.9, 3.10, 3.11, 3.12] - Update actions/checkout v3->v4, actions/setup-python v3->v5 - Replace hardcoded pip==24.0 with pip install --upgrade pip - Add example-validation job (YAML, Python syntax, import checks) - Update python_requires from >=3.6 to >=3.9 in setup.py - Fix YAML syntax error in cifar100/fci_ssl/fedavg/benchmarkingjob.yaml Signed-off-by: AswaniSahoo <aswanisahoo1012@gmail.com>
c186479 to
07d229b
Compare
What this PR does
Modernizes the CI pipeline and adds a new example validation job to catch configuration and syntax errors in examples before they are merged.
Changes
CI Pipeline Updates (
.github/workflows/main.yaml):[3.7, 3.8, 3.9]to[3.9, 3.10, 3.11, 3.12]actions/checkoutfromv3tov4andactions/setup-pythonfromv3tov5(v3 uses deprecated Node.js 16 runtime)pip==24.0withpip install --upgrade pip--max-positional-arguments=10universally for pylint (no longer needs Python version conditional since all matrix entries now install pylint >= 3.3.0, see Pylint Errors Due to Compatibility Issues with Pylint3.9 #157)example-validationjob that:benchmarkingjob.yamlfiles are parseableianvspackage can be imported after installationMinimum Python Version (
setup.py):python_requiresfrom">=3.6"to">=3.9"YAML Bug Fix (
examples/cifar100/fci_ssl/fedavg/benchmarkingjob.yaml):algorithms:conda→algorithms:(accidental concatenation, discovered during local validation testing)Local Verification
Ran validation locally before submitting:
Relationship to #230
This addresses the CI pipeline component of the Comprehensive Example Restoration initiative:
Fixes #411