Skip to content
Draft
Changes from all 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
31 changes: 25 additions & 6 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,14 @@ jobs:
fi

unit:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
python: ['3.10', '3.11', '3.12', '3.13', '3.14']
os: [
ubuntu-latest,
macos-14
]
fail-fast: false
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -91,10 +95,14 @@ jobs:
run: python -m pytest tests/unit -v

integration:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
python: ['3.10', '3.11', '3.12', '3.13', '3.14']
os: [
ubuntu-latest,
["self-hosted", "macOS", "ARM64"]
]
fail-fast: false
steps:
- uses: actions/checkout@v4
Expand All @@ -111,7 +119,7 @@ jobs:
# native-ExpOp coverage that consumes ``client_with_cdt_data_812``
# / ``client_812``; tests that need 8.1.2 and don't see an
# 8.1.2-routing seed (``AEROSPIKE_HOST_8_1_2``) will skip cleanly.
docker run -d -p 3000:3000 --name aerospike-server aerospike/aerospike-server:8.1.2.1
docker run -d -p 3000:3000 --ulimit nofile=15000:15000 --name aerospike-server aerospike/aerospike-server:8.1.2.1
for i in {1..10}; do
if docker exec aerospike-server asinfo -v "statistics" > /dev/null 2>&1; then
echo "Aerospike server is ready after $i seconds"
Expand Down Expand Up @@ -155,7 +163,10 @@ jobs:
--extra-index-url "https://${user_enc}:${JF_OIDC_TOKEN}@artifact.aerospike.io/artifactory/api/pypi/${{ vars.JFROG_PROJECT }}-pypi-dev-local/simple/"

- name: Generate ANTLR parser
run: make generate-ael
run: |
echo $PATH | sed 's/:/\n/g'
java -version
make generate-ael

- name: Run integration tests
env:
Expand All @@ -176,10 +187,14 @@ jobs:
# de-facto serialization (module-level singletons, dict mutation races,
# cross-loop asyncio primitives) fails here before it reaches users.
unit-freethreaded:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
python: ['3.14t']
os: [
ubuntu-latest,
macos-14
]
fail-fast: false
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -223,10 +238,14 @@ jobs:
run: python -m pytest tests/unit -v

integration-freethreaded:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
python: ['3.14t']
os: [
ubuntu-latest,
["self-hosted", "macOS", "ARM64"]
]
fail-fast: false
steps:
- uses: actions/checkout@v4
Expand Down
Loading