Merge branch 'ps/rusttls' into SM-989-... #20
Workflow file for this run
This file contains 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 Python Wheels | |
on: | |
pull_request: | |
push: | |
branches: | |
- "master" | |
- "rc" | |
- "hotfix-rc" | |
- "SM-989-create-build-and-publish-pipelines-for-the-python-language-wrapper" # TODO: remove this | |
workflow_dispatch: | |
defaults: | |
run: | |
shell: bash | |
working-directory: languages/python | |
jobs: | |
generate_schemas: | |
uses: ./.github/workflows/generate_schemas.yml | |
setup: | |
name: Setup | |
runs-on: ubuntu-22.04 | |
outputs: | |
package_version: ${{ steps.retrieve-version.outputs.package_version }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Get Package Version | |
id: retrieve-version | |
run: | | |
VERSION="$(grep -o '^version = ".*"' ../../crates/bitwarden-py/Cargo.toml | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+")" | |
echo "package_version=$VERSION" >> $GITHUB_OUTPUT | |
build: | |
name: Building Python wheel for - ${{ matrix.settings.os }} - ${{ matrix.settings.target }} | |
runs-on: ${{ matrix.settings.os || 'ubuntu-latest' }} | |
needs: | |
- generate_schemas | |
- setup | |
env: | |
_PACKAGE_VERSION: ${{ needs.setup.outputs.package_version }} | |
strategy: | |
fail-fast: false | |
matrix: | |
settings: | |
- os: macos-12 | |
target: x86_64-apple-darwin | |
- os: macos-12 | |
target: aarch64-apple-darwin | |
- os: windows-2022 | |
target: x86_64-pc-windows-msvc | |
- os: windows-2022 | |
target: aarch64-pc-windows-msvc | |
- os: ubuntu-22.04 | |
target: x86_64-unknown-linux-gnu | |
build: | | |
apt-get update | |
apt-get install libssl-dev -y | |
export X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR=/usr/lib/x86_64-linux-gnu | |
export OPENSSL_DIR=/usr/lib/x86_64-linux-gnu | |
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/share/pkgconfig/:/opt/_internal/cpython-3.10.13/lib/pkgconfig/:/usr/lib64/pkgconfig/:/usr/local/lib/pkgconfig/:/usr/share/pkgconfig/" | |
- os: ubuntu-22.04 | |
target: aarch64-unknown-linux-gnu | |
build: | | |
apt-get update | |
apt-get install libssl-dev -y | |
export AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR=/usr/lib/aarch64-linux-gnu | |
export OPENSSL_DIR=/usr/lib/aarch64-linux-gnu | |
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig/:/opt/_internal/cpython-3.10.13/lib/pkgconfig/:/usr/lib64/pkgconfig/:/usr/local/lib/pkgconfig/:/usr/share/pkgconfig/" | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup Node | |
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0 | |
with: | |
node-version: 18 | |
- name: Install rust | |
uses: dtolnay/rust-toolchain@439cf607258077187679211f12aa6f19af4a0af7 # stable | |
with: | |
toolchain: stable | |
targets: ${{ matrix.settings.target }} | |
- name: Cache cargo registry | |
uses: Swatinem/rust-cache@3cf7f8cc28d1b4e7d01e3783be10a97d55d483c8 # v2.7.1 | |
with: | |
key: ${{ matrix.settings.target }}-cargo-${{ matrix.settings.os }} | |
- name: Retrieve schemas | |
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 | |
with: | |
name: schemas.py | |
path: ${{ github.workspace }}/languages/python/BitwardenClient/ | |
- name: Build wheels | |
uses: PyO3/maturin-action@b9e8f88fd4448fdecf5095864cdc7e39a544aa9f # v1.40.7 | |
with: | |
target: ${{ matrix.settings.target }} | |
args: --release --find-interpreter --sdist | |
sccache: 'true' | |
manylinux: auto | |
working-directory: ${{ github.workspace }}/languages/python | |
before-script-linux: | | |
export X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR=/usr/lib/x86_64-linux-gnu | |
export AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR=/usr/lib/aarch64-linux-gnu | |
export OPENSSL_DIR=/usr/lib/aarch64-linux-gnu | |
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig/:/opt/_internal/cpython-3.10.13/lib/pkgconfig/:/usr/lib64/pkgconfig/:/usr/local/lib/pkgconfig/:/usr/share/pkgconfig/" | |
- name: Upload artifact | |
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 | |
with: | |
name: BitwardenClient-${{ env._PACKAGE_VERSION }}-${{ matrix.settings.target }} | |
path: ${{ github.workspace }}/target/wheels/BitwardenClient*.whl |