Skip to content

Conversation

@speediedan
Copy link
Owner

@speediedan speediedan commented Jan 12, 2026

This branch adds/updates CI and project infra to support Python 3.13 and performs related cleanup.

Key changes

  • Bump CI to run on Python 3.13 and adjust CI configuration accordingly.
  • Bump Lightning dev SHA to pick up required upstream changes for CI compatibility.
  • Modernize type hints in the codebase for newer Python versions.
  • Automate cleaning of test warnings and add enhancements/options to CI helper scripts.
  • Minor documentation cleanups related to the CI updates.

Commits in this branch (summary)

  • 9975d10 — bump lightning dev sha, minor doc cleanup, set CI to use python 3.13
  • ef57bac — automate test warnings cleanup process, enhance CI infra scripts with new options
  • 7bc7007 — modernize type hints for python 3.10+

Why this change

Upgrading CI to include Python 3.13 ensures the project remains compatible with the latest Python release and catches regressions early. The Lightning dev SHA bump and type-hint modernization reduce friction during development and align the codebase with recent typing improvements.

Notes for reviewers / maintainers

  • Check that the GitHub Actions workflows complete successfully on this branch.
  • Verify no new type-related warnings are introduced under Python 3.13; the commits include type-hint modernizations but please review areas with complex typing.
  • The commit that bumps the Lightning dev SHA may require downstream CI to use the same commit pin (this repo already supports commit pinning via CI overrides).

Files touched (high-level)

  • GitHub Actions workflow files and/or CI helper scripts
  • Small docs/README updates
  • Type hint changes across source files

📚 Documentation preview 📚: https://finetuning-scheduler--28.org.readthedocs.build/en/28/

@speediedan speediedan marked this pull request as ready for review January 12, 2026 18:34
Copilot AI review requested due to automatic review settings January 12, 2026 18:34
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Python 3.13 support to the CI infrastructure and modernizes type hints throughout the codebase to use Python 3.10+ syntax. It also introduces automation for managing test warnings and enhances CI helper scripts.

Changes:

  • Adds Python 3.13 to CI test matrix (replacing 3.12 as the maximum tested version)
  • Modernizes type hints: Optional[X]X | None, Union[X, Y]X | Y, List[X]list[X], Dict[K, V]dict[K, V], Tuple[X, Y]tuple[X, Y]
  • Introduces automated warnings cleanup workflow with Python orchestrator and shell wrapper scripts
  • Updates CI scripts with new options (--allow-failures, --run-all-and-examples, --log-dir)
  • Bumps Lightning dev SHA for compatibility

Reviewed changes

Copilot reviewed 49 out of 49 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/ci_test-full.yml Updates CI matrix to test Python 3.10 and 3.13 (was 3.10 and 3.12)
scripts/build_fts_env.sh Changes default Python from 3.12 to 3.13 for latest builds
src/finetuning_scheduler/*.py Modernizes type hints across core modules
src/fts_examples/**/*.py Modernizes type hints in example code
tests/helpers/expected_warns.py Comments out obsolete warnings with TODO markers
tests/test_utils.sh Adds allow_failures parameter for test execution control
tests/special_tests.sh Adds --allow-failures and --log-dir options
scripts/automate_warnings_cleanup.py New automation orchestrator for warnings management (1035 lines)
scripts/run_warnings_cleanup.sh New wrapper script for warnings cleanup automation (191 lines)
scripts/gen_fts_coverage.sh Adds --run-all-and-examples and --allow-failures options
requirements/ci/overrides.txt Updates Lightning commit pin
pyproject.toml Adds Python 3.13 classifier
Docker files and workflows Updates Python version to 3.13 consistently
Documentation Updates README, copilot instructions to reflect Python 3.13

@speediedan speediedan merged commit a7a3584 into main Jan 12, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants