appveyor / ci

AppVeyor community support repository
https://www.appveyor.com
344 stars 64 forks source link

Python 3.12 #3879

Closed EwoutH closed 1 month ago

EwoutH commented 1 year ago

Python 3.12 is now in the Beta phase and will be released in a few months. This means it's going to be heavily tested the next few months. It would be great if AppVeyor could add Python 3.12 to it's images.

OwenMcDonnell commented 1 year ago

We wouldn't want to risk breaking any other users builds by installing a beta. But you could always add something like this to your appveyor.yml config file for your own testing.

install:
  - ps: |
      $version = "3.12.0"
      $beta = "b2"
      Write-Host "Installing Python $version" -ForegroundColor Cyan

      $downloadUrl = "https://www.python.org/ftp/python/$version/python-$version$beta-amd64.exe"
      Write-Host "Downloading $($downloadUrl)..."
      $exePath = "$env:TEMP\python-$version$beta.exe"
      (New-Object Net.WebClient).DownloadFile($downloadUrl, $exePath)

      Write-Host "Installing..."
      cmd /c start /wait $exePath /quiet TargetDir="$targetPath" Shortcuts=0 Include_launcher=1 InstallLauncherAllUsers=1 Include_debug=1
      Remove-Item $exePath

      Start-ProcessWithOutput "$targetPath\python.exe --version"

      Write-Host "Installed Python $version" -ForegroundColor Green
EwoutH commented 1 year ago

Users will only install 3.12 if they specifically select it right? I'm not talking about changing the default Python version, just adding another version.

hugovk commented 9 months ago

The 3.12 release candidate 1 is now out (with RC2 due next week), and the release manager is asking maintainers to test:

There will be no ABI changes from this point forward in the 3.12 series, and the goal is that there will be as few code changes as possible.

Call to action

We strongly encourage maintainers of third-party Python projects to prepare their projects for 3.12 compatibilities during this phase, and where necessary publish Python 3.12 wheels on PyPI to be ready for the final release of 3.12.0.

hugovk commented 8 months ago

Python 3.12.0 final is now out! 🚀

https://discuss.python.org/t/python-3-12-0-final-is-here/35186?u=hugovk

mkleehammer commented 8 months ago

Is there an ETA for Python 3.12 support to be released? Thanks.

jfabiani commented 8 months ago

I know that people are saying to move to psycopg3 but I have a lot invested in psycopg2. So please release a version for python 3.12

EwoutH commented 8 months ago

Sadly it's hard to take Appveyor serious as a CI vendor anymore, especially with such a heads-up.

On GitHub Actions, Python 3.12 was natively available from the alpha phase, almost a year ago.

CRD716 commented 8 months ago

@OwenMcDonnell Any progress updates?

knightofcookies commented 8 months ago

SQLAlchemy requires psycopg2 to work with PostgreSQL and psycopg2 cannot be installed for Python 3.12 on Windows. This issue was referenced as the cause. I'm flabbergasted to see that something so important isn't working with the latest version of Python. It's unbelievable.

OwenMcDonnell commented 8 months ago

Apologies for the delay. Python 3.12 will be part of the next image update, which is being worked on now. Should be within a week.

OwenMcDonnell commented 8 months ago

Ubuntu 22.04 image has been released with support for Python 3.12. Visual studio images are up next.

treyhunner commented 8 months ago

Specifying stack: python 3.12 with image Ubuntu2024 doesn't seem to work. Using tox shows an InterpreterNotFound error.

OwenMcDonnell commented 8 months ago

Specifying stack: python 3.12 with image Ubuntu2024 doesn't seem to work. Using tox shows an InterpreterNotFound error.

What are you actually using as an image name. ubuntu2004 or ubuntu2204?

OwenMcDonnell commented 8 months ago

A new VS2019 image has been deployed including python 3.12.0, documentation for which is awaiting a new VS2022 image which is currently being created. Feel free to try out the new Visual Studio 2019 image and share any feedback.

sbraz commented 8 months ago

Hi, would it be possible to add it to macOS images too please?

OwenMcDonnell commented 7 months ago

Hi, would it be possible to add it to macOS images too please?

Yes, that is planned. Can't give a definite date yet, but in the near future.

OwenMcDonnell commented 7 months ago

Both Visual Studio 2022 and Visual Studio 2019 images have both been updated to include Python 3.12.0.

EwoutH commented 7 months ago

Seeing multiple projects having successfully used Python 3.12 in CI, I will mark this issue as resolved! @OwenMcDonnell, thank you for your effort!

Python 3.13 beta will start in June 2024. That’s the point many maintainers will want to start testing Python 3.13. It will be great if AppVeyor could add Python 3.13 directly when the first beta is released. Note that GitHub Actions already has Python 3.13 support (https://github.com/actions/python-versions/commit/e642abaef814f4d4a6bfe1741f814e08dbbc2484).

hugovk commented 7 months ago

For comparison, here's how long it took for other releases:

And this year compared to other CIs:

🥇 13 hours: GitHub Actions ↔️ 🥇 13 hours: Azure Pipelines ↔️ 🥉 20 days: Travis CI ⬆️ 4️⃣ 28 days: AppVeyor ⬇️

sbraz commented 7 months ago

@OwenMcDonnell should I open a separate issue for Python 3.12 on macOS images?

OwenMcDonnell commented 7 months ago

@OwenMcDonnell should I open a separate issue for Python 3.12 on macOS images?

I'll just re-open this issue and close once macOS images are updated. I can't promise anything sooner than a week, but likely sooner than 2 weeks.

xqt commented 7 months ago

What about Python 3.12 on Windows images?

hugovk commented 7 months ago

@xqt Available since last week: https://github.com/appveyor/ci/issues/3879#issuecomment-1786252102

xqt commented 7 months ago

@xqt Available since last week: #3879 (comment)

It is not documented then: https://www.appveyor.com/docs/windows-images-software/#python

hugovk commented 1 month ago

Python 3.13 beta will start in June 2024. That’s the point many maintainers will want to start testing Python 3.13. It will be great if AppVeyor could add Python 3.13 directly when the first beta is released. Note that GitHub Actions already has Python 3.13 support (actions/python-versions@e642aba).

Python 3.13 is now in beta and it's time for maintainers to start testing: