Skip to content
Draft
Show file tree
Hide file tree
Changes from 41 commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
1aefe3b
Build for 3.13
juliannguyen4 Oct 1, 2024
dcddcfe
Fix
juliannguyen4 Oct 1, 2024
25c7962
rm
juliannguyen4 Oct 10, 2024
46d8945
add 3.13 to smoke tests
juliannguyen4 Oct 14, 2024
9a038ad
Merge remote-tracking branch 'origin/dev' into CLIENT-2992-python-3.13
juliannguyen4 Oct 18, 2024
36bca2d
free threading
juliannguyen4 Oct 18, 2024
50d2a46
Fix
juliannguyen4 Oct 18, 2024
66bf697
fix
juliannguyen4 Oct 18, 2024
9e5c66f
use 3.13 final
juliannguyen4 Oct 18, 2024
376869f
set to str?
juliannguyen4 Oct 18, 2024
20d174f
try
juliannguyen4 Oct 18, 2024
35278e7
Fix
juliannguyen4 Oct 18, 2024
5b9087f
Merge remote-tracking branch 'origin/dev' into CLIENT-3146-free-threa…
juliannguyen4 Oct 21, 2024
828c63c
enable flag
juliannguyen4 Oct 21, 2024
54961e6
add cs
juliannguyen4 Oct 21, 2024
601a011
try
juliannguyen4 Oct 21, 2024
7462be6
Support 3.13t on self hosted
juliannguyen4 Oct 21, 2024
6bb6c6d
call pip directly so uv works
juliannguyen4 Oct 21, 2024
5a2846e
use alt commands
juliannguyen4 Oct 21, 2024
36a6e44
run
juliannguyen4 Oct 21, 2024
7caa91f
fix
juliannguyen4 Oct 21, 2024
d0afcba
dont buildf
juliannguyen4 Oct 21, 2024
7429c53
dont include pyproject.toml
juliannguyen4 Oct 21, 2024
7a1f8d7
be more specific
juliannguyen4 Oct 21, 2024
c71d8e6
add cond
juliannguyen4 Oct 21, 2024
1fe262d
wip
juliannguyen4 Oct 21, 2024
f7e79c1
fix
juliannguyen4 Oct 21, 2024
26dc7f5
dont need to install python. uv venv will do it for you
juliannguyen4 Oct 22, 2024
aab9e2c
add todo for later
juliannguyen4 Oct 22, 2024
2ea9a9a
upgrade_pythoncapi.py
juliannguyen4 Oct 22, 2024
ff4614c
fix
juliannguyen4 Oct 22, 2024
26ac36d
Make sure to exit CS to let other threads run
juliannguyen4 Oct 22, 2024
05dae2d
fix for operate
juliannguyen4 Oct 22, 2024
b0e1892
fix
juliannguyen4 Oct 23, 2024
a922566
Replace one call
juliannguyen4 Oct 23, 2024
8be436d
wip
juliannguyen4 Oct 23, 2024
a41d711
see what happens
juliannguyen4 Oct 23, 2024
3234a03
make sure this works right
juliannguyen4 Oct 24, 2024
622b67a
fix
juliannguyen4 Oct 23, 2024
9d7fe51
fix
juliannguyen4 Oct 24, 2024
ff830d5
try locking as CS
juliannguyen4 Oct 24, 2024
1fdb0d8
rewrite
juliannguyen4 Oct 24, 2024
40179c8
measure time
juliannguyen4 Oct 24, 2024
c7b5749
run free threading test with both gil and no-gil
juliannguyen4 Oct 24, 2024
12dfa71
update
juliannguyen4 Oct 24, 2024
fd95ed6
fix
juliannguyen4 Oct 24, 2024
7d505ad
show output
juliannguyen4 Oct 24, 2024
dd38370
disable shared conn on free threading mode
juliannguyen4 Oct 30, 2024
f509e06
add noop to end of macro to allow labels before this macro
juliannguyen4 Oct 30, 2024
da2ca4d
remove labels to exit cs
juliannguyen4 Nov 1, 2024
94c1c90
Revert "disable shared conn on free threading mode"
juliannguyen4 Nov 5, 2024
ca1c766
see what happens
juliannguyen4 Nov 5, 2024
fa0774f
Merge remote-tracking branch 'origin/dev' into CLIENT-3146-free-threa…
juliannguyen4 Nov 13, 2024
bd24324
WIP
juliannguyen4 Nov 13, 2024
cda61d8
wip
juliannguyen4 Nov 13, 2024
336cca0
fix
juliannguyen4 Nov 15, 2024
7ae8e73
fix
juliannguyen4 Nov 15, 2024
e177301
fix
juliannguyen4 Nov 15, 2024
604fd95
fix
juliannguyen4 Nov 15, 2024
da2c9e8
never do negative testing on a feature branch
juliannguyen4 Nov 21, 2024
d540cbc
Merge remote-tracking branch 'origin/dev' into CLIENT-3146-free-threa…
juliannguyen4 Nov 21, 2024
2b37036
Merge remote-tracking branch 'origin/dev' into CLIENT-3146-free-threa…
juliannguyen4 Nov 21, 2024
e750022
Merge remote-tracking branch 'origin/dev' into CLIENT-3146-free-threa…
juliannguyen4 Nov 22, 2024
bfd4959
raise error if shared mem is enabled with nogil
juliannguyen4 Nov 22, 2024
581cf14
Prevent undefined behavior, don't use global vars for GIL-free
juliannguyen4 Nov 22, 2024
ad5dbcc
wip. NOT DONE
juliannguyen4 Nov 26, 2024
ff768b4
not sure why this is formatted this way
juliannguyen4 Dec 2, 2024
4cab763
Merge remote-tracking branch 'origin/dev' into CLIENT-3146-free-threa…
juliannguyen4 Feb 6, 2025
413638e
update cibw
juliannguyen4 Feb 6, 2025
b44d0af
fix
juliannguyen4 Feb 6, 2025
87bbd12
Merge remote-tracking branch 'origin/dev' into CLIENT-3146-free-threa…
juliannguyen4 May 19, 2025
a05cc21
we can use setup-python to download 3.13t
juliannguyen4 May 19, 2025
d8d26ae
forgot
juliannguyen4 May 19, 2025
fbacadb
fix
juliannguyen4 May 22, 2025
e2aa216
Merge remote-tracking branch 'origin/dev' into CLIENT-3146-free-threa…
juliannguyen4 May 22, 2025
dc386fb
Merge remote-tracking branch 'origin/dev' into CLIENT-3146-free-threa…
juliannguyen4 Jun 4, 2025
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
37 changes: 31 additions & 6 deletions .github/workflows/build-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ on:
type: string
description: Valid JSON list of Python tags to build the client for
required: false
default: '["cp38", "cp39", "cp310", "cp311", "cp312"]'
default: '["cp38", "cp39", "cp310", "cp311", "cp312", "cp313", "cp313t"]'
platform-tag:
description: Platform to build the client for.
type: choice
Expand Down Expand Up @@ -76,7 +76,7 @@ on:
python-tags:
type: string
required: false
default: '["cp38", "cp39", "cp310", "cp311", "cp312"]'
default: '["cp38", "cp39", "cp310", "cp311", "cp312", "cp313", "cp313t"]'
platform-tag:
type: string
required: true
Expand Down Expand Up @@ -238,7 +238,7 @@ jobs:
run: echo "INCLUDE_DSYM=1" >> $GITHUB_ENV

- name: Build wheel
uses: pypa/cibuildwheel@v2.20.0
uses: pypa/cibuildwheel@v2.21.3
env:
CIBW_ENVIRONMENT_PASS_LINUX: ${{ inputs.unoptimized && 'UNOPTIMIZED' || '' }}
CIBW_ENVIRONMENT_MACOS: SSL_LIB_PATH="$(brew --prefix openssl@1.1)/lib/" CPATH="$(brew --prefix openssl@1.1)/include/" STATIC_SSL=1
Expand All @@ -250,6 +250,7 @@ jobs:
yum install python-setuptools -y
# delvewheel is not enabled by default but we do need to repair the wheel
CIBW_BEFORE_BUILD_WINDOWS: "pip install delvewheel"
CIBW_FREE_THREADED_SUPPORT: ${{ matrix.python-tag == 'cp313t' && '1' || '0' }}
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair --add-path ./aerospike-client-c/vs/x64/Release -w {dest_dir} {wheel}"
CIBW_TEST_COMMAND: ${{ env.TEST_COMMAND }}

Expand Down Expand Up @@ -294,6 +295,11 @@ jobs:
- uses: actions/checkout@v4
with:
ref: ${{ env.COMMIT_SHA_TO_BUILD_AND_TEST }}
sparse-checkout-cone-mode: false
sparse-checkout: |
!pyproject.toml
test/**
.github/**

# Need to be able to save Docker Hub credentials to keychain
- if: ${{ inputs.platform-tag == 'macosx_arm64' && inputs.use-server-rc }}
Expand All @@ -312,6 +318,7 @@ jobs:
name: ${{ env.BUILD_IDENTIFIER }}.build

- name: Convert Python tag to Python version
if: ${{ matrix.python-tag != 'cp313t' }}
# Don't use sed because we want this command to work on both mac and windows
# The command used in GNU sed is different than in macOS sed
run: |
Expand All @@ -321,11 +328,26 @@ jobs:
shell: bash

- uses: actions/setup-python@v5
if: ${{ matrix.python-tag != 'cp313t' }}
with:
python-version: ${{ env.PYTHON_VERSION }}

- if: ${{ matrix.python-tag == 'cp313t' }}
uses: astral-sh/setup-uv@v3
with:
version: "0.4.x"

- if: ${{ matrix.python-tag == 'cp313t' }}
# Will automatically install Python 3.13t if not present
run: uv venv --python 3.13t
shell: bash

# TODO: check if uv is installed, instead
- run: echo PIP_COMMAND="${{ matrix.python-tag == 'cp313t' && 'uv' || '' }} pip" >> $GITHUB_ENV
shell: bash

- name: Install wheel
run: python3 -m pip install aerospike --force-reinstall --no-index --find-links=./
run: ${{ env.PIP_COMMAND }} install aerospike --force-reinstall --no-index --find-links=./
shell: bash

- name: Connect to Docker container on remote machine with Docker daemon
Expand All @@ -336,11 +358,14 @@ jobs:
crudini --set config.conf enterprise-edition hosts ${env:DOCKER_HOST_IP}:3000
working-directory: test

- run: python3 -m pip install pytest -c requirements.txt
- run: ${{ env.PIP_COMMAND }} install pytest -c requirements.txt
working-directory: test
shell: bash

- run: python3 -m pytest new_tests/
- run: echo PYTHON_M_COMMAND=${{ matrix.python-tag == 'cp313t' && 'uv run --module' || 'python3 -m' }} >> $GITHUB_ENV
shell: bash

- run: ${{ env.PYTHON_M_COMMAND }} pytest new_tests/
working-directory: test
shell: bash

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
py-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
py-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
fail-fast: false

steps:
Expand Down
Loading