Skip to content

Commit

Permalink
[CLIENT-2930] Add support for Ubuntu 24.04 (#717)
Browse files Browse the repository at this point in the history
Pointed C client submodule back to stage branch
  • Loading branch information
juliannguyen4 authored Feb 18, 2025
1 parent 8023812 commit bd2c339
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 10 deletions.
20 changes: 13 additions & 7 deletions .github/workflows/stage-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ jobs:
["amazonlinux:2023", 2, "linux/arm64", "3.11"],
["ubuntu:22.04", 2, "linux/amd64", "3.10"],
["ubuntu:22.04", 2, "linux/arm64", "3.10"],
["ubuntu:24.04", 2, "linux/amd64", "3.12"],
["ubuntu:24.04", 2, "linux/arm64", "3.12"],
# Bookworm is Debian 12
["python:3.9-bookworm", 2, "linux/amd64", "3.9"],
["python:3.9-bookworm", 2, "linux/arm64", "3.9"],
Expand All @@ -64,6 +66,7 @@ jobs:
fail-fast: false
env:
LINUX_DISTRO_CONTAINER_NAME: linux-distro
PIP_INSTALL_COMMAND: 'pip install'
runs-on: ${{ matrix.test-case[2] == 'linux/amd64' && 'ubuntu-22.04' || 'aerospike_arm_runners_2' }}
steps:
# TODO: the checkout code is also duplicated in the macOS stage tests
Expand Down Expand Up @@ -115,12 +118,12 @@ jobs:
if: ${{ env.DISTRO_DOCKER_IMAGE_AND_TAG == 'amazonlinux:2023' && env.PYTHON_VERSION == '3.11' }}
run: docker exec ${{ env.LINUX_DISTRO_CONTAINER_NAME }} yum install -y python3.11

- name: 'Ubuntu 22.04 Install python 3.10 that comes by default (step 1)'
if: ${{ env.DISTRO_DOCKER_IMAGE_AND_TAG == 'ubuntu:22.04' }}
- name: 'Ubuntu: Install python 3 that comes by default (step 1)'
if: ${{ startsWith(env.DISTRO_DOCKER_IMAGE_AND_TAG, 'ubuntu') }}
run: docker exec ${{ env.LINUX_DISTRO_CONTAINER_NAME }} apt update

- name: 'Ubuntu 22.04 Install python 3.10 that comes by default (step 2)'
if: ${{ env.DISTRO_DOCKER_IMAGE_AND_TAG == 'ubuntu:22.04' }}
- name: 'Ubuntu: Install python 3 that comes by default (step 2)'
if: ${{ startsWith(env.DISTRO_DOCKER_IMAGE_AND_TAG, 'ubuntu') }}
run: docker exec ${{ env.LINUX_DISTRO_CONTAINER_NAME }} apt install python3 python3-pip -y

- name: Make sure pip is installed
Expand All @@ -131,15 +134,18 @@ jobs:
if: ${{ env.TEST_CATEGORY == '1' }}
run: docker exec ${{ env.LINUX_DISTRO_CONTAINER_NAME }} yum install -y openssl-devel glibc-devel autoconf automake libtool zlib-devel openssl-devel python-devel

- if: ${{ env.DISTRO_DOCKER_IMAGE_AND_TAG == 'ubuntu:24.04' }}
run: echo PIP_INSTALL_COMMAND="$PIP_INSTALL_COMMAND --break-system-packages" >> $GITHUB_ENV

- name: 'Cat 1: Install pip build frontend'
if: ${{ env.TEST_CATEGORY == '1' }}
run: docker exec --workdir /aerospike-client-python/ ${{ env.LINUX_DISTRO_CONTAINER_NAME }} python${{ env.PYTHON_VERSION }} -m pip install -r requirements.txt
run: docker exec --workdir /aerospike-client-python/ ${{ env.LINUX_DISTRO_CONTAINER_NAME }} python${{ env.PYTHON_VERSION }} -m ${{ env.PIP_INSTALL_COMMAND }} -r requirements.txt

- name: Install sdist or wheel distribution
run: docker exec --workdir /aerospike-client-python/ ${{ env.LINUX_DISTRO_CONTAINER_NAME }} python${{ env.PYTHON_VERSION }} -m pip install ${{ env.ARTIFACT_FILE_NAME_PATTERN }}
run: docker exec --workdir /aerospike-client-python/ ${{ env.LINUX_DISTRO_CONTAINER_NAME }} python${{ env.PYTHON_VERSION }} -m ${{ env.PIP_INSTALL_COMMAND }} ${{ env.ARTIFACT_FILE_NAME_PATTERN }}

- name: Install pytest
run: docker exec --workdir /aerospike-client-python/test ${{ env.LINUX_DISTRO_CONTAINER_NAME }} python${{ env.PYTHON_VERSION }} -m pip install pytest -c requirements.txt
run: docker exec --workdir /aerospike-client-python/test ${{ env.LINUX_DISTRO_CONTAINER_NAME }} python${{ env.PYTHON_VERSION }} -m ${{ env.PIP_INSTALL_COMMAND }} pytest -c requirements.txt

- name: Run tests
run: docker exec --workdir /aerospike-client-python/test ${{ env.LINUX_DISTRO_CONTAINER_NAME }} python${{ env.PYTHON_VERSION }} -m pytest new_tests/
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
path = aerospike-client-c
# url = [email protected]:aerospike/aerospike-client-c.git
url = https://github.com/aerospike/aerospike-client-c.git
branch = CLIENT-3339
branch = stage
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The Python client for Aerospike works with Python 3.9 - 3.13 and supports the fo
* RHEL 8 and 9
* Amazon Linux 2023
* Debian 11 and 12
* Ubuntu 20.04 and 22.04
* Ubuntu 20.04, 22.04, and 24.04
* Windows (x64)

The client is also verified to run on these operating systems, but we do not officially support them (i.e we don't distribute wheels or prioritize fixing bugs for these OSes):
Expand Down
2 changes: 1 addition & 1 deletion aerospike-client-c
Submodule aerospike-client-c updated 0 files

0 comments on commit bd2c339

Please sign in to comment.