python-holidays icon indicating copy to clipboard operation
python-holidays copied to clipboard

Add Python 3.14 (beta) to CI/CD

Open PPsyrius opened this issue 6 months ago • 5 comments

Proposed change

Add Python 3.14 (beta) to CI/CD. Final release expected on 2025-10-07.

Type of change

  • [ ] New country/market holidays support (thank you!)
  • [ ] Supported country/market holidays update (calendar discrepancy fix, localization)
  • [x] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
  • [ ] Dependency update (version deprecation/pin/upgrade)
  • [ ] Bugfix (non-breaking change which fixes an issue)
  • [ ] Breaking change (a code change causing existing functionality to break)
  • [ ] New feature (new holidays functionality in general)

Checklist

  • [x] I've followed the contributing guidelines
  • [x] I've successfully run make check, all checks and tests are green

PPsyrius avatar Jun 19 '25 06:06 PPsyrius

Summary by CodeRabbit

  • Chores
    • Added support for Python 3.14 in testing and CI/CD workflows.
    • Updated test environment configurations to include Python 3.14.
    • Upgraded the numpy package version to 2.3.2 for Python 3.11 and above in test requirements.

Summary by CodeRabbit

  • Chores
    • Expanded test and environment support to include Python 3.14.

Walkthrough

Python 3.14 support was added to both the CI/CD workflow and tox configuration. The test matrix in the workflow and the tox environment list now include Python 3.14, expanding the range of Python versions tested. No other changes were made.

Changes

Files/Paths Change Summary
.github/workflows/ci-cd.yml, tox.ini Added Python 3.14 to the test matrix and tox environments.
requirements/tests.txt Updated numpy version from 2.3.0 to 2.3.2 for Python ≥3.11.

Possibly related PRs

  • vacanza/holidays#2605: Adjusted Python version configuration in CI/CD and tox, focusing on Python 3.13 as primary—similar update pattern for Python version management.

Suggested labels

ci

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

[!NOTE]

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
🧪 Generate unit tests
  • [ ] Create PR with unit tests
  • [ ] Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

coderabbitai[bot] avatar Jun 19 '25 06:06 coderabbitai[bot]

Codecov Report

:white_check_mark: All modified and coverable lines are covered by tests. :white_check_mark: Project coverage is 100.00%. Comparing base (b711c8a) to head (6a0ce55). :warning: Report is 1 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff            @@
##               dev     #2650   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          271       271           
  Lines        16205     16205           
  Branches      2190      2190           
=========================================
  Hits         16205     16205           

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov[bot] avatar Jun 19 '25 06:06 codecov[bot]

I've already tried adding 3.14, but numpy doesn't have wheels for Windows yet, and the built version doesn't work. 🤷‍♂️

KJhellico avatar Jun 19 '25 10:06 KJhellico

I've already tried adding 3.14, but numpy doesn't have wheels for Windows yet, and the built version doesn't work. 🤷‍♂️

I see, so retrying is useless here...

So what's the plan here -- just wait until it's supported? I guess I'll convert it to draft until then...

arkid15r avatar Jun 19 '25 17:06 arkid15r

right after rc1 probably

(from https://github.com/numpy/numpy/issues/29062)

KJhellico avatar Jun 19 '25 20:06 KJhellico

Python 3.14 RC1 is ready, and numpy 2.3.2 too. Seems all is ok.

KJhellico avatar Jul 25 '25 15:07 KJhellico