devolutions-crypto 0.9.2

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

    - name: Setting up PATH environment variable
      shell: bash
      run: echo "c:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\Roslyn" >> $GITHUB_PATH

    - name: Installing rust targets
      shell: bash
      run: |
        rustup target add i686-pc-windows-msvc
        rustup target add aarch64-pc-windows-msvc
        rustup target add x86_64-pc-windows-msvc

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

    - uses: actions/setup-python@v5
      with:
        python-version: "3.13"
        architecture: "x86"

    - name: Building i686 3.13 wheel
      working-directory: ./python
      shell: bash
      run: maturin build -i 3.13 --release --target=i686-pc-windows-msvc

    - uses: actions/setup-python@v5
      with:
        python-version: "3.13"
        architecture: "x64"

    - name: Building x86_64, aarch64 3.13 wheel
      working-directory: ./python
      shell: bash
      run: |
        maturin build -i 3.13 --release --target=x86_64-pc-windows-msvc
        maturin build -i 3.13 --release --target=aarch64-pc-windows-msvc

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

    - name: Building i686 3.12 wheel
      working-directory: ./python
      shell: bash
      run: maturin build -i 3.12 --release --target=i686-pc-windows-msvc

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

    - name: Building x86_64, aarch64 3.12 wheel
      working-directory: ./python
      shell: bash
      run: |
        maturin build -i 3.12 --release --target=x86_64-pc-windows-msvc
        maturin build -i 3.12 --release --target=aarch64-pc-windows-msvc

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

    - name: Building i686 3.11 wheel
      working-directory: ./python
      shell: bash
      run: maturin build -i 3.11 --release --target=i686-pc-windows-msvc

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

    - name: Building x86_64, aarch64 3.11 wheel
      working-directory: ./python
      shell: bash
      run: |
        maturin build -i 3.11 --release --target=x86_64-pc-windows-msvc
        maturin build -i 3.11 --release --target=aarch64-pc-windows-msvc

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

    - name: Building i686 3.10 wheel
      working-directory: ./python
      shell: bash
      run: maturin build -i 3.10 --release --target=i686-pc-windows-msvc

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

    - name: Building x86_64, aarch64 3.10 wheel
      working-directory: ./python
      shell: bash
      run: |
        maturin build -i 3.10 --release --target=x86_64-pc-windows-msvc
        maturin build -i 3.10 --release --target=aarch64-pc-windows-msvc

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

    - name: Building i686 3.9 wheel
      working-directory: ./python
      shell: bash
      run: maturin build -i 3.9 --release --target=i686-pc-windows-msvc

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

    - name: Building x86_64, aarch64 3.9 wheel
      working-directory: ./python
      shell: bash
      run: |
        maturin build -i 3.9 --release --target=x86_64-pc-windows-msvc
        maturin build -i 3.9 --release --target=aarch64-pc-windows-msvc

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

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