Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update python in CI #5544

Merged
merged 1 commit into from
Mar 27, 2025
Merged

Update python in CI #5544

merged 1 commit into from
Mar 27, 2025

Conversation

Fale
Copy link
Contributor

@Fale Fale commented Dec 10, 2024

Description

Bump python version in the CI to current versions.

This is the same as #5503 that for some reason got closed when the merge of the drop-py38 branch happened

@snejus
Copy link
Member

snejus commented Dec 10, 2024

I commented under your previous PR with an explanation what happened - total bamboozle on my end.

@snejus
Copy link
Member

snejus commented Dec 10, 2024

I'm thinking maybe we should comment out 3.13 and 3.14 for now with a note that this depends on numbas support for 3.13.

@snejus
Copy link
Member

snejus commented Jan 22, 2025

Unfortunately new version of numba dropped Python 3.9 altogether, which means we can only support versions up to and including 3.12.

@Fale
Copy link
Contributor Author

Fale commented Jan 25, 2025

Why would dropping 3.9 be a problem?
Seems like:

  • Ubuntu 22.04 and higher have Python 3.10 (and higher)
  • Fedora: all supported version have Python 3.12 and higher
  • Debian: from bookworm (current stable) onward they have Python 3.10 or higher

So, it seems dropping 3.9 should not be a problem today.

Would you agree?

@snejus
Copy link
Member

snejus commented Feb 2, 2025

Historically, beets has never dropped support for a non-EOL Python version. If we do so, those people that use Python 3.9 will be forced to upgrade their setups early in order to upgrade beets, which is not ideal. People have various legitimate reasons for using the earliest support Python: for example, maintaining their own open-source packages.

I checked monthly beets download for each Python version:

image

Seems like there's still a considerable number of people who use it with Python 3.9 :)

@Fale
Copy link
Contributor Author

Fale commented Feb 2, 2025

the assumption, though, is that all those users are on the latest version of beets/ Is that the case?

Also, how are those statistics fetched? I was not aware that beets has a telemetry that was able to provide such info, was I under the wrong assumption os are those from somewhere else?

@snejus
Copy link
Member

snejus commented Feb 17, 2025

That's just download statistics from pypi, see pypistats.

I can see on pepy.stats that nearly all users download the most recent version indeed.

@Fale
Copy link
Contributor Author

Fale commented Feb 17, 2025

I see, thanks!
Sooner or later beets will have to make the step. I think it will be important to understand when it will make sense for beets to do it.

@snejus
Copy link
Member

snejus commented Feb 17, 2025

Most likely this is going to happen with EOL of Python 3.9. We should support 3.11 and 3.12 anyways though!

@snejus
Copy link
Member

snejus commented Mar 12, 2025

@Fale Would you be happy to remove 3.13 and 3.14 for now and rebase on master so that we can merge this in? Otherwise, I could take it from here myself

@snejus snejus requested a review from Copilot March 20, 2025 21:33
Copy link

@Copilot 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 updates the CI configuration to support multiple and current Python versions while introducing an experimental matrix for testing newer Python releases.

  • Updated the Python version matrix to include versions 3.10, 3.11, and 3.12.
  • Added experimental entries for Python 3.13 and 3.14-dev with conditional error continuation.
  • Included additional package dependencies (llvm, libopenblas-dev) in the CI install step.
Comments suppressed due to low confidence (2)

.github/workflows/ci.yaml:27

  • Using 'continue-on-error' conditioned on 'matrix.experimental' will suppress job failures for experimental configurations. Please confirm that this behavior is intended to avoid masking real issues in experimental runs.
continue-on-error: ${{ matrix.experimental }}

.github/workflows/ci.yaml:23

  • The inclusion of the experimental Python version '3.14-dev' may require additional test coverage to ensure compatibility. Please verify and add tests if needed to cover potential issues with this version.
          - python-version: "3.14-dev"

@Fale Fale force-pushed the update-ci-python branch from d3f9598 to 4b04d0e Compare March 24, 2025 21:13
@Fale
Copy link
Contributor Author

Fale commented Mar 24, 2025

Should be ok now :)

@snejus snejus merged commit 19ee164 into beetbox:master Mar 27, 2025
16 checks passed
@snejus
Copy link
Member

snejus commented Mar 27, 2025

Thank you!

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