mirror of
https://github.com/actions/python-versions.git
synced 2025-12-13 05:56:49 +00:00
Remove EOL Python code, set 3.9 as base, add 3.14 stdlib module (#317)
* Remove redundant Python 2 code * Use Python 3.2 as base version * Use Python 3.3 as base version * Use Python 3.4 as base version * Use Python 3.5 as base version * Use Python 3.6 as base version * Use Python 3.7 as base version * Use Python 3.8 as base version * Use Python 3.9 as base version * Add annotationlib for Python 3.14 * Fix syntax error
This commit is contained in:
committed by
GitHub
parent
5c01d17435
commit
d5e8ad6406
@@ -31,14 +31,6 @@ class macOSPythonBuilder : NixPythonBuilder {
|
||||
.SYNOPSIS
|
||||
Prepare system environment by installing dependencies and required packages.
|
||||
#>
|
||||
|
||||
if ($this.Version -eq "3.7.17") {
|
||||
# We have preinstalled ncurses and readLine on the hoster runners. But we need to install bzip2 for
|
||||
# setting up an environemnt
|
||||
# If we get any issues realted to ncurses or readline we can try to run this command
|
||||
# brew install ncurses readline
|
||||
Execute-Command -Command "brew install bzip2"
|
||||
}
|
||||
}
|
||||
|
||||
[void] Configure() {
|
||||
@@ -58,46 +50,20 @@ class macOSPythonBuilder : NixPythonBuilder {
|
||||
### will never be used itself by a Github Actions runner but using a universal2 Python is the only way to build
|
||||
### universal2 C extensions and wheels. This is supported by Python >= 3.10 and was backported to Python >=
|
||||
### 3.9.1 and >= 3.8.10.
|
||||
### Disabled, discussion: https://github.com/actions/python-versions/pull/114
|
||||
# if ($this.Version -ge "3.8.10" -and $this.Version -ne "3.8.13" -and $this.Version -ne "3.9.0" ) {
|
||||
# $configureString += " --enable-universalsdk --with-universal-archs=universal2"
|
||||
# }
|
||||
|
||||
### OS X 10.11, Apple no longer provides header files for the deprecated system version of OpenSSL.
|
||||
### Solution is to install these libraries from a third-party package manager,
|
||||
### and then add the appropriate paths for the header and library files to configure command.
|
||||
### Link to documentation (https://cpython-devguide.readthedocs.io/setup/#build-dependencies)
|
||||
if ($this.Version -lt "3.7.0") {
|
||||
$env:LDFLAGS = "-L/usr/local/opt/openssl@3/lib -L/usr/local/opt/zlib/lib"
|
||||
$env:CFLAGS = "-I/usr/local/opt/openssl@3/include -I/usr/local/opt/zlib/include"
|
||||
} else {
|
||||
$configureString += " --with-openssl=/usr/local/opt/openssl@3"
|
||||
$configureString += " --with-openssl=/usr/local/opt/openssl@3"
|
||||
$configureString += " --with-tcltk-includes='-I /usr/local/opt/tcl-tk/include/tcl-tk' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'"
|
||||
|
||||
# For Python 3.7.2 and 3.7.3 we need to provide PATH for zlib to pack it properly. Otherwise the build will fail
|
||||
# with the error: zipimport.ZipImportError: can't decompress data; zlib not available
|
||||
if ($this.Version -eq "3.7.2" -or $this.Version -eq "3.7.3" -or $this.Version -eq "3.7.17") {
|
||||
$env:LDFLAGS = "-L/usr/local/opt/zlib/lib"
|
||||
$env:CFLAGS = "-I/usr/local/opt/zlib/include"
|
||||
}
|
||||
|
||||
# if ($this.Version -gt "3.7.12") {
|
||||
$configureString += " --with-tcltk-includes='-I /usr/local/opt/tcl-tk/include/tcl-tk' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'"
|
||||
# }
|
||||
|
||||
if ($this.Version -eq "3.7.17") {
|
||||
$env:LDFLAGS += " -L$(brew --prefix bzip2)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix ncurses)/lib"
|
||||
$env:CFLAGS += " -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(brew --prefix ncurses)/include"
|
||||
}
|
||||
}
|
||||
|
||||
### Compile with support of loadable sqlite extensions. Unavailable for Python 2.*
|
||||
### Compile with support of loadable sqlite extensions.
|
||||
### Link to documentation (https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.enable_load_extension)
|
||||
if ($this.Version -ge "3.2.0") {
|
||||
$configureString += " --enable-loadable-sqlite-extensions"
|
||||
$env:LDFLAGS += " -L$(brew --prefix sqlite3)/lib"
|
||||
$env:CFLAGS += " -I$(brew --prefix sqlite3)/include"
|
||||
$env:CPPFLAGS += "-I$(brew --prefix sqlite3)/include"
|
||||
}
|
||||
$configureString += " --enable-loadable-sqlite-extensions"
|
||||
$env:LDFLAGS += " -L$(brew --prefix sqlite3)/lib"
|
||||
$env:CFLAGS += " -I$(brew --prefix sqlite3)/include"
|
||||
$env:CPPFLAGS += "-I$(brew --prefix sqlite3)/include"
|
||||
|
||||
Write-Host "The passed configure options are: "
|
||||
Write-Host $configureString
|
||||
|
||||
@@ -61,8 +61,7 @@ class NixPythonBuilder : PythonBuilder {
|
||||
Return name of Python binary.
|
||||
#>
|
||||
|
||||
if ($this.Version.Major -eq 2) { $pythonBinary = "python" } else { $pythonBinary = "python3" }
|
||||
return $pythonBinary
|
||||
return "python3"
|
||||
}
|
||||
|
||||
[string] Download() {
|
||||
|
||||
@@ -61,8 +61,8 @@ class UbuntuPythonBuilder : NixPythonBuilder {
|
||||
Prepare system environment by installing dependencies and required packages.
|
||||
#>
|
||||
|
||||
if ($this.Version -lt "3.5.3") {
|
||||
Write-Host "Python versions lower than 3.5.3 are not supported"
|
||||
if ($this.Version -lt "3.9.0") {
|
||||
Write-Host "Python versions lower than 3.9.0 are not supported"
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
@@ -42,9 +42,7 @@ class WinPythonBuilder : PythonBuilder {
|
||||
Return extension for required version of Python executable.
|
||||
#>
|
||||
|
||||
$extension = if ($this.Version -lt "3.5" -and $this.Version -ge "2.5") { ".msi" } else { ".exe" }
|
||||
|
||||
return $extension
|
||||
return ".exe"
|
||||
}
|
||||
|
||||
[string] GetArchitectureExtension() {
|
||||
@@ -55,11 +53,7 @@ class WinPythonBuilder : PythonBuilder {
|
||||
|
||||
$ArchitectureExtension = ""
|
||||
if ($this.GetHardwareArchitecture() -eq "x64") {
|
||||
if ($this.Version -ge "3.5") {
|
||||
$ArchitectureExtension = "-amd64"
|
||||
} else {
|
||||
$ArchitectureExtension = ".amd64"
|
||||
}
|
||||
$ArchitectureExtension = "-amd64"
|
||||
} elseif ($this.GetHardwareArchitecture() -eq "arm64") {
|
||||
$ArchitectureExtension = "-arm64"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user