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

Create a static compiled binary as standalone executable for CI/CD download #37

Closed
dnsmichi opened this issue Jul 3, 2023 · 3 comments

Comments

@dnsmichi
Copy link
Contributor

dnsmichi commented Jul 3, 2023

Context: #36 requires dependencies being installed when not using the default CI image.

After researching other CI/CD trace tools, such as buildevents, a static binary to download would decrease the config steps to integrate tracepusher.

buildevents does not support Otel yet (honeycombio/buildevents#125).

@agardnerIT
Copy link
Owner

agardnerIT commented Jul 4, 2023

I've been experimenting with a few options (cxfreeze and pyinstaller). Both do not compile cross-platform, but I've pushed binaries onto a new branch (built by pyinstaller): https://github.com/agardnerIT/tracepusher/tree/feat/self-contained-binary/dist

For future me, the commands:

pip install pyinstaller
pyinstaller --onefile tracepusher.py
cd dist && ls -al

Does this fit the bill?

There is also a brand-new Python-superset language called Mojo which can do both JIT and AOT compilation to produce binaries. It isn't ready yet, but that is something to keep an eye on for the future.

@dnsmichi
Copy link
Contributor Author

dnsmichi commented Jul 5, 2023

@agardnerIT Thanks for your efforts, this is a great first step to reduce dependencies to download and install. I'll run a few tests soon (test MR in https://gitlab.com/gitlab-de/use-cases/observability/devsecops-efficiency/slow-pipeline-for-analysis/-/merge_requests/1)

@agardnerIT
Copy link
Owner

@dnsmichi This is getting stale so I'm going to close it. Please re-open if it is still relevant.

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

No branches or pull requests

2 participants