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

Add Python 3.12 Support #73

Merged
merged 6 commits into from
Aug 1, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/ci-scripts-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,12 @@ jobs:
# actions/checkout@v2 wants git >=2.18
# centos:7 has 1.8
if: matrix.image=='centos:7'
# By default, Centos 7 uses mirrorlist.centos.org for yum
# mirrorlist.centos.org no longer exists (as of 1st July 2024), so need to update repolist
run: |
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
yum -y install curl make gcc curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
curl https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.29.0.tar.gz | tar -xz
cd git-*
Expand All @@ -265,6 +270,11 @@ jobs:
- uses: actions/checkout@v3
with:
submodules: true
env:
# For some reason the Node version was updated to Node20, which breaks stuff
# This allows the use of the "insecure" Node20
# THIS IS VERY MUCH A TEMPORARY FIX
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
- name: Automatic core dumper analysis
uses: mdavidsaver/ci-core-dumper@master
if: matrix.image!='centos:7'
Expand Down
49 changes: 35 additions & 14 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,34 +36,39 @@ jobs:

# OSX py builds
- name: osx 3.6 intel
os: macos-latest
os: macos-13
python: "3.6"
piparch: macosx_10_9_intel

- name: osx 3.7 intel
os: macos-latest
os: macos-13
python: "3.7"
piparch: macosx_10_9_intel

- name: osx 3.8 intel
- name: osx 3.8 arm64
os: macos-latest
python: "3.8"
piparch: macosx_10_9_intel
piparch: macosx_11_0_arm64
OCopping marked this conversation as resolved.
Show resolved Hide resolved

- name: osx 3.9 intel
- name: osx 3.9 arm64
os: macos-latest
python: "3.9"
piparch: macosx_10_9_intel
piparch: macosx_11_0_arm64

- name: osx 3.10 intel
- name: osx 3.10 arm64
os: macos-latest
python: "3.10"
piparch: macosx_10_10_intel
piparch: macosx_11_0_arm64

- name: osx 3.11 intel
- name: osx 3.11 arm64
os: macos-latest
python: "3.11"
piparch: macosx_10_10_intel
piparch: macosx_11_0_arm64

- name: osx 3.12 arm64
os: macos-latest
python: "3.12"
piparch: macosx_11_0_arm64

# Windows py builds

Expand All @@ -73,7 +78,7 @@ jobs:
# piparch: win_amd64

- name: win64 3.5
os: windows-latest
os: windows-2019
python: "3.5"
piparch: win_amd64

Expand Down Expand Up @@ -107,21 +112,31 @@ jobs:
python: "3.11"
piparch: win_amd64

- name: win64 3.12
os: windows-latest
python: "3.12"
piparch: win_amd64

steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Automatic core dumper analysis
uses: mdavidsaver/ci-core-dumper@master


- name: Setup native python
if: matrix.python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
#architecture: x64

# TLS 1.0 and 1.1 support was removed from pypi so the cached pip won't work
- name: Python 3.5 Fix
if: ${{ matrix.python == '3.5' }}
run: |
curl https://bootstrap.pypa.io/pip/3.5/get-pip.py | python
Copy link
Member

Choose a reason for hiding this comment

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

So that is what happened... Using curl seems straightforward enough for a CI job.

For future reference, I would be fine with dropping the py3.5 builds at this point.


- name: Prepare
shell: bash
run: |
Expand Down Expand Up @@ -246,6 +261,12 @@ jobs:
manylinux: manylinux2014
arch: x86_64

- name: linux 3.12 amd64
os: ubuntu-latest
pyver: cp312-cp312
manylinux: manylinux2014
arch: x86_64

# Linux py builds x32
- name: linux 2.7 i686
pyver: cp27-cp27m
Expand Down Expand Up @@ -301,7 +322,7 @@ jobs:
submodules: recursive

- name: Setup native python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python || '3.7' }}
#architecture: x64
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[build-system]
requires = ["setuptools", "wheel", "setuptools_dso>=2.7a1", "epicscorelibs>=7.0.3.99.2.0a1"]
requires = ["setuptools", "wheel", "setuptools_dso>=2.11a2", "epicscorelibs>=7.0.7.99.1.0a2"]
OCopping marked this conversation as resolved.
Show resolved Hide resolved
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -733,7 +733,7 @@ def define_DSOS(self):
#setup_requires = ['setuptools_dso'],
# also need at runtime for DSO filename lookup
install_requires = [
'setuptools_dso>=2.7a1',
'setuptools_dso>=2.11a2',
epicscorelibs.version.abi_requires(),
],
packages=['pvxslibs', 'pvxslibs.lib', 'pvxslibs.test'],
Expand Down
Loading