Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor build process, build onefile, upgrade to v2.1.0, add homebrew release #8

Merged
merged 29 commits into from
May 30, 2023

Conversation

alexrashed
Copy link
Member

@alexrashed alexrashed commented May 25, 2023

This PR contains the following changes:

  • It refactors the build process such that:
    • It also creates an ARM64 binary.
    • It creates both, the onefile-binary and the directory-binary distributions.
    • It automatically creates draft releases on tags with the release assets for all supported architectures.
  • It adds a new workflow which updates the localstack-cli formula in localstack/homebrew-tap when a draft release is published.
  • Fixes the entrypoint discovery for binary distributions (by adding the respective pyinstaller hooks to ensure that the package metadata is added to the package).

@alexrashed alexrashed requested review from thrau and lukqw May 25, 2023 12:43
@alexrashed alexrashed changed the title refactor build process, build onefile, upgrade to v2.1.0, add homebrew release [WIP] refactor build process, build onefile, upgrade to v2.1.0, add homebrew release May 25, 2023
@alexrashed alexrashed changed the title [WIP] refactor build process, build onefile, upgrade to v2.1.0, add homebrew release refactor build process, build onefile, upgrade to v2.1.0, add homebrew release May 26, 2023
Copy link
Member

@thrau thrau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice! looks like a great first iteration :-)

Comment on lines +25 to +27
- runner: ubuntu-20.04
os: linux
arch: amd64
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you think it makes sense to add older/newer versions of linux distros to make sure we have a range of glibc versions covered?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, there's no older version than Ubuntu 20.04 and MacOS 11 for GitHub-hosted runners and just ubuntu-latest for buildjet runners. All these runners currently use GCC 10. Binaries compiled with an older GCC version are compatible to newer ones (they are forward-compatible), so choosing the "oldest" available seemed to be the best approach.
Here's the support policy for GitHub Runners: https://github.com/actions/runner-images#software-and-image-support
They basically always support the last three major versions of the GCC toolchain.

@alexrashed alexrashed merged commit 791ffbf into localstack:main May 30, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants