agardnerIT / tracepusher

Generate and push OpenTelemetry Trace data to an OTEL collector in JSON format
Apache License 2.0
53 stars 11 forks source link

Build Binaries improvements #57

Closed agardnerIT closed 1 year ago

agardnerIT commented 1 year ago

The workflow to build binaries currently:

The binaries only need to be build just prior to each new release.

  1. The workflow should remain as a manual trigger
  2. Committing the binaries back to this repo has a few drawbacks: a) Large files in the Git history b) Causes new commits and an update to the history so others need to do a git fetch and git pull. This can get messy and is not a good user experience.

PyInstaller and nuitka (an alternative I've investigated) only build for the architecture on which the build command is executed. Therefore it is anticipated that until GitHub offers public runners for all common architectures, we'll need to spin up other VMs to run the build process (outside of GitHub) which will (probably) mean this process is somewhat manual.

Proposed Solution

agardnerIT commented 1 year ago

Windows and Linux binaries are built by the (manually triggered) workflow. The workflow pushes to S3. Mac binary (universal binary) are built locally and pushed to S3. All binaries are manually downloaded from S3, deleted and uploaded to the release.