Skip to content

Latest commit

 

History

History
41 lines (30 loc) · 1.53 KB

README.md

File metadata and controls

41 lines (30 loc) · 1.53 KB

ESP idf-python-wheels

The goal of this project is to automate build and upload process of required Python Wheels by IDF tools using GitHub Actions. We are able to build wheels for multiple OSes and architectures with multiple versions of Python.

Supported architectures:

  • ubuntu-latest - x64
  • macos-latest - x64
  • macos-self-hosted - arm64
  • windows-latest - x64
  • linux-armv7-self-hosted - arm32
  • linux-aarch64-self-hosted - arm64

Each architecture has it's own workflow in .github/workflows except aarch64 Linux - not ready as GitHub runner yet.

For each architecture the user can select Python version to built wheels. On self-hosted runners can handle multiple versions of Python with pyenv.

The build contains all wheels required by branches:

  • release/v4.3
  • release/v4.4
  • master

Configuration

  • user can set IDF_branch input parameter to add wheels for another branch.
  • currently, it is possible to run a workflow for the whole requirenments.txt
  • to add new architecture, set up GitHub runner, and create new GitHub Action
  • workflows need to be started manually

Usage for x64 build

.\Build-Wheels.ps1 -Branch "master" -Arch "" -CompileWheels @("greenlet", "gevent<2.0,>=1.2.2", "cryptography", "windows-curses", "python-pkcs11") -Python python3.9
.\Test-Wheels.ps1 -Branch "master"

Usage for arm64 build

.\Build-Wheels.ps1 -Branch "master" -Arch "-arm64" -CompileWheels @("greenlet", "gevent<2.0,>=1.2.2", "cryptography", "windows-curses", "python-pkcs11") -Python python3.9
.\Test-Wheels.ps1 -Branch "master"