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

feat: Include waved binary in Conda distributions #2266 #2303

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

marek-mihok
Copy link
Contributor

@marek-mihok marek-mihok commented Mar 27, 2024

The PR fulfills these requirements: (check all the apply)

  • It's submitted to the main branch.
  • When resolving a specific issue, it's referenced in the PR's title (e.g. feat: Add a button #xxx, where "xxx" is the issue number).
  • When resolving a specific issue, the PR description includes Closes #xxx, where "xxx" is the issue number.
  • If changes were made to ui folder, unit tests (make test) still pass.
  • New/updated tests are included

Waved binaries are now included inside conda packages! 🎉

As of today building of platform-specific packages supporting multiple python versions is not supported by Conda, so we need to build packages for each python version individually and we end up with 21 packages total (4 architectures * 5 python versions + 1 noarch package without waved binary):

image

This PR also features a new gh action which only uploads already built packages into Anaconda cloud.

Closes #2266

@marek-mihok
Copy link
Contributor Author

marek-mihok commented Mar 27, 2024

@mturoci I didn't have a chance to test new gh workflows so there is a possibility of failure, however I've tried to prepare everything for it to pass on the first try.

Copy link
Collaborator

@mturoci mturoci left a comment

Choose a reason for hiding this comment

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

Thanks @marek-mihok! Looks great. A few questions.

@@ -1,3 +1,19 @@
build_conda_package = \
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is it possible to create 2 separate make targets (conda-noarch and conda-arch) instead? And maybe a 3rd one for moving stuff around (the last section of the function)

py/h2o_wave/conda/meta.yaml Show resolved Hide resolved
@@ -26,6 +26,10 @@ def initialize(self, _version, build_data):
if not platform:
# Create a default metadata file in case of noarch builds.
create_metadata_file('linux', 'amd64')
# If conda build, copy binaries into package.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I though conda has its own build pipeline and doesn't use hatch. How does this work?

.github/workflows/publish-conda.yml Show resolved Hide resolved
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.

Make waved part of conda bundle
2 participants