Skip to content

add wheel building action #70

add wheel building action

add wheel building action #70

Workflow file for this run

name: Build Wheels for Python SDK
on:
push:
branches:
- main
# Release branches
- "sdk-core/*"
pull_request:
branches:
- main
- "sdk-core/*"
# Allow manual triggering of the workflow
workflow_dispatch:
jobs:
build_wheels:
name: Build wheels for Python SDK on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
# Macos 13 is an intel runner and macos 14 is an apple silicon runner
os: [ubuntu-22.04, ubuntu-22.04-arm, windows-latest, macos-13, macos-14]
steps:
- uses: actions/checkout@v4
# Need to grab the SDK version for the wheel name
- name: Extract SDK Version
run: echo "SDK_VERSION=$(python -c 'import version; print(version.SDK_VERSION)')" >> $GITHUB_ENV
- name: Build wheels
env:
CIBW_SKIP: pp* *-musllinux_*
CIBW_MANYLINUX_X86_64_IMAGE: "quay.io/pypa/manylinux_2_34_x86_64"
CIBW_MANYLINUX_AARCH64_IMAGE: "quay.io/pypa/manylinux_2_34_aarch64"
CIBW_ARCHS: "native"
CIBW_BEFORE_TEST: "pip install pydantic cryptography pytest pytest-asyncio"
CIBW_TEST_COMMAND: "python -m pytest {project}/src/onepassword/test_client.py"
MACOSX_DEPLOYMENT_TARGET: 11.0 # Required for building on macOS
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.TEST_SERVICE_ACCOUNT_TOKEN }}
CIBW_ENVIRONMENT_PASS_LINUX: OP_SERVICE_ACCOUNT_TOKEN # to pass in the SA token, for some reason linux doesn't read the env variables
uses: pypa/[email protected]
- uses: actions/upload-artifact@v4
with:
name: onepassword-sdk-${{ env.SDK_VERSION }}-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl