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

build wheel #50

Merged
merged 6 commits into from
Oct 12, 2023
Merged

build wheel #50

merged 6 commits into from
Oct 12, 2023

Conversation

jysheng123
Copy link
Contributor

@jysheng123 jysheng123 commented Oct 4, 2023

Issue number:

Summary

Added GH action for building wheels and publishing them to an artifact for future use. Note for linux builds, the GH action cibuildwheel has extra functionality to accommodate golang not being in the container and it builds the binary with golang before going in the container so inside setup.py it does not create a new binary if the env variable GO_ARCH is provided and uses the existing binary to create the wheel

Changes

Please provide a summary of what's being changed

User experience

Please share what the user experience looks like before and after this change

Mandatory Checklist

If your change doesn't seem to apply, please leave them unchecked.

  • I have performed a self-review of this change
  • Changes have been tested
  • Changes are documented

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@jysheng123 jysheng123 marked this pull request as ready for review October 4, 2023 23:32
@jysheng123 jysheng123 requested a review from a team as a code owner October 4, 2023 23:32
.github/workflows/build-wheel.yml Outdated Show resolved Hide resolved
.github/workflows/build-wheel.yml Show resolved Hide resolved
.github/workflows/build-wheel.yml Outdated Show resolved Hide resolved
.github/workflows/build-wheel.yml Outdated Show resolved Hide resolved
@jysheng123
Copy link
Contributor Author

This PR is ready (if pass checks), but since its using docker/qemu action I am verifying with appsec engineer to make sure no security issues arise from this.

CIBW_SKIP: "*-musllinux*"
CIBW_ENVIRONMENT_LINUX: GOARCH="${{ matrix.GO_ARCHITECTURE }}"
CIBW_ARCHS_LINUX: "${{matrix.LINUX_ARCHITECTURE}}"
CIBW_BEFORE_ALL_LINUX:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

For context on why these commands are run: cibuildwheel documentation (https://cibuildwheel.readthedocs.io/en/stable/faq/), linux builds are held on its own containers which is why I am installing golang manually in the command line. However I had issues once inside the container running go so the workaround I did was to build the go binary in the container in the before all because golang works there and then in the actual building process, pass a flag to skip the binary building so go is not called at all and then the binary is then built.

@jysheng123 jysheng123 added this pull request to the merge queue Oct 12, 2023
Merged via the queue into develop with commit 95d2cff Oct 12, 2023
jysheng123 added a commit that referenced this pull request Oct 17, 2023
* build wheel

* add hash test

* remove qemu non-linux

* remove pull_request trigger
@jfuss jfuss deleted the build-wheels branch October 31, 2023 19:30
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.

3 participants