devolutions-crypto 0.9.2

An abstraction layer for the cryptography used by Devolutions
Documentation
name: Build Linux Python
runs:
  using: composite
  steps:
    - uses: actions/setup-python@v5
      with:
        python-version: "3.13"

    - name: Installing dependencies
      shell: bash
      run: |
        sudo apt-get update
        sudo apt-get install nuget gcc-multilib software-properties-common
        sudo apt-get install -y gcc-aarch64-linux-gnu

    - name: Install rust
      shell: bash
      run: |
        rustup update
        rustup target add x86_64-unknown-linux-gnu
        rustup target add i686-unknown-linux-gnu
        rustup target add aarch64-unknown-linux-gnu

    - name: Install Maturin
      working-directory: ./python
      shell: bash
      run: pip install maturin

    - name: Building sdist
      run: maturin sdist
      working-directory: "./python"
      shell: bash

    - name: Building 3.13 wheel
      working-directory: ./python
      shell: bash
      run: |
        maturin build -i 3.13 --release --target=x86_64-unknown-linux-gnu
        maturin build -i 3.13 --release --target=i686-unknown-linux-gnu
        maturin build -i 3.13 --release --target=aarch64-unknown-linux-gnu

    - uses: actions/setup-python@v5
      with:
        python-version: "3.12"

    - name: Building 3.12 wheel
      working-directory: ./python
      shell: bash
      run: |
        maturin build -i 3.12 --release --target=x86_64-unknown-linux-gnu
        maturin build -i 3.12 --release --target=i686-unknown-linux-gnu
        maturin build -i 3.12 --release --target=aarch64-unknown-linux-gnu

    - uses: actions/setup-python@v5
      with:
        python-version: "3.11"

    - name: Building 3.11 Wheel
      working-directory: ./python
      shell: bash
      run: |
        maturin build -i 3.11 --release --target=x86_64-unknown-linux-gnu
        maturin build -i 3.11 --release --target=i686-unknown-linux-gnu
        maturin build -i 3.11 --release --target=aarch64-unknown-linux-gnu

    - uses: actions/setup-python@v5
      with:
        python-version: "3.10"

    - name: Building 3.10 Wheel
      working-directory: ./python
      shell: bash
      run: |
        maturin build -i 3.10 --release --target=x86_64-unknown-linux-gnu
        maturin build -i 3.10 --release --target=i686-unknown-linux-gnu
        maturin build -i 3.10 --release --target=aarch64-unknown-linux-gnu

    - uses: actions/setup-python@v5
      with:
        python-version: "3.9"

    - name: Building 3.9 Wheel
      working-directory: ./python
      shell: bash
      run: |
        maturin build -i 3.9 --release --target=x86_64-unknown-linux-gnu
        maturin build -i 3.9 --release --target=i686-unknown-linux-gnu
        maturin build -i 3.9 --release --target=aarch64-unknown-linux-gnu

    - name: Place Artifacts
      shell: bash
      run: |
        mv target/wheels/*.whl .

    - uses: actions/upload-artifact@v4.3.6
      with:
        name: python-wheels-linux
        path: ./*.whl