theopolis / uefi-firmware-parser

Parse BIOS/Intel ME/UEFI firmware related structures: Volumes, FileSystems, Files, etc
Other
767 stars 154 forks source link

Add release pipeline, fixes #116 #120

Closed twizmwazin closed 1 year ago

twizmwazin commented 1 year ago

This release pipeline uses cibuildwheel to build wheels for most common platforms and also an sdist for platforms not covered. All the build tools and publishing action are by PyPA to hopefully observe best practices. One notable thing is that this does not generate a python 2 wheel, however python 2 users will still be able to install with the provided sdist. If that is an issue I can look at adding another set of jobs for python 2 specifically using an older version of cibuildwheel.

I have tested the build jobs and the output looks good, I haven't been able to validate the publish job. In order for the upload to succeed, you'll need to configure a trusted publisher as documented here.

Fixes #116

theopolis commented 1 year ago

It seems like the ARM64 Linux build has an issue that hangs the GitHub runner:

  Digest: sha256:922a941420b60b2825b5ca94d3614ff4e781f21c3736689baf5baf75f73c3e98
  Status: Downloaded newer image for quay.io/pypa/manylinux2014_aarch64:2023-07-14-55e4124
  WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested
  a03a671aaf12712c4ab604db14c3fe03e14c501d209e5eb779e87aa7b6ce1710
      + /bin/true
  exec /usr/local/bin/manylinux-entrypoint: exec format error

@twizmwazin, have you seen this before?

This might be a similar issue: https://bytemeta.vip/repo/joerick/cibuildwheel/issues/1189

I wonder if installing qemu on the runner will also fix this issue here?

sudo apt install qemu binfmt-support qemu-user-static
twizmwazin commented 1 year ago

Yes, sorry I left that failing yesterday. The solution you proposed should work for ubuntu, I just pushed a commit that uses the docker/setup-qemu-action@v2 action, which should achieve the same result.

theopolis commented 1 year ago

Awesome, looks great!