add wheel building action #67
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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* | |
| 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" | |
| CIBW_TEST_COMMAND: "python {project}/example/example.py" | |
| MACOSX_DEPLOYMENT_TARGET: 11.0 # Required for building on macOS | |
| OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.TEST_SERVICE_ACCOUNT_TOKEN }} | |
| OP_VAULT_ID: ${{ secrets.EXAMPLE_TESTS_OP_VAULT_ID }} | |
| CIBW_ENVIRONMENT_PASS_LINUX: OP_SERVICE_ACCOUNT_TOKEN, OP_VAULT_ID # to pass in the SA token, for some reason linux doesn't read the env variables | |
| continue-on-error: true | |
| uses: pypa/[email protected] | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: onepassword-sdk-${{ env.SDK_VERSION }}-${{ matrix.os }}-${{ strategy.job-index }} | |
| path: ./wheelhouse/*.whl |