freedomofpress / securedrop-builder

Packaging logic for building SecureDrop-related Debian packages
GNU General Public License v3.0
7 stars 11 forks source link

Containerize the wheel build process #460

Open legoktm opened 1 year ago

legoktm commented 1 year ago

The wheel build process is a good first target for containerization since it's all self-contained in this repository.

The basic workflow is:

  1. Get a project name plus requirements.txt/poetry.lock
  2. Extract the names plus versions of packages to build from the input files
  3. Download the source tarballs
  4. Build the wheels using build. If the package contains compiled code, build it on both bullseye and bookworm
  5. Update and sign the new sha256sums.txt files
  6. Update build-requirements.txt in the component repos

Nearly everything is version agnostic and can be done from the host except for step 4, which is the main benefit we get from isolation.