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

wheel.mk: Migrate to using status cookie #6389

Merged
merged 24 commits into from
Jan 18, 2025

Conversation

th0ma7
Copy link
Contributor

@th0ma7 th0ma7 commented Jan 13, 2025

Description

Migrate to using status cookie

Follow-up to #6282, in particular #6282 (comment)

Checklist

  • Build rule all-supported completed successfully
  • New installation of package completed successfully
  • Package upgrade completed successfully (Manually install the package again)
  • Package functionality was tested
  • Any needed documentation is updated/created

Type of change

  • Bug fix
  • New Package
  • Package update
  • Includes small framework changes
  • This change requires a documentation update (e.g. Wiki)

TODO

  • Allow using WHEELS="<name>-<version>" make wheel-<arch>-<tcversion>
  • Manage end-of-line comments in requirements files
  • Allow downloading to distrib/pip all types (abi3, crossenv, pure)
  • Allow managing #egg= portion on URL based wheel requirements (for newer pip compatibility)
  • Create new download-wheels sub-routines to pre-download only
  • Allow downloading wheels part of the github-action preparation phase
  • Update python wheel wiki documentation

@th0ma7 th0ma7 changed the title wheel.mk: Migrate to using status cookie [WIP] wheel.mk: Migrate to using status cookie Jan 13, 2025
@th0ma7 th0ma7 self-assigned this Jan 13, 2025
@th0ma7
Copy link
Contributor Author

th0ma7 commented Jan 13, 2025

Functionality for wheel_download now migrated to status cookie, next to be wheel_compile then wheel_install which shouldn't be too long by the look of things.

@hgy59
Copy link
Contributor

hgy59 commented Jan 14, 2025

@th0ma7 it would be convenient having a wheelclean-% target to rebuilt a specific wheel like:

make wheelclean-numpy-1.26.4

just my 5 cents 🪙

@th0ma7
Copy link
Contributor Author

th0ma7 commented Jan 15, 2025

@hgy59 make wheelclean-<wheel>-<version> functionality added. Also the code is now fully migrated to using status cookies for all wheel builds which should have a significant impact on build time (if not from a github-action it will from a debugging and testing perspective).

If you have a moment to test things up would be great. Similarly to crossenv I've now added a make wheel-<arch>-<tcversion> call. It can be extended to:

make WHEELS="<name>-<version>" wheel-<arch>-<tcversion>

This will add that "wheel" to the list of wheels to process. Noting that Makefile first WHEELS entry, if using = instead of += will discard argument passed in parameter. Although for the sake of testing, commenting out WHEELS entries from your makefile will allow you to test-build a wheel you are struggling with. So the following should help a bit for testing and debugging purpose:

make wheelclean-<name>-<version>
make wheelcleancache
make WHEELS="<name>-<version>" wheel-<arch>-<tcversion>

I'm sure there will be a few rough-edges and missing is the ability to download only for using with github-action (next on my TODO).

@th0ma7 th0ma7 requested a review from hgy59 January 15, 2025 23:41
mk/spksrc.wheel-download.mk Outdated Show resolved Hide resolved
@th0ma7 th0ma7 changed the title [WIP] wheel.mk: Migrate to using status cookie wheel.mk: Migrate to using status cookie Jan 18, 2025
@th0ma7
Copy link
Contributor Author

th0ma7 commented Jan 18, 2025

I believe this is now ready for merging (conditional to github-action green flags + disabling package bumped verions)

@th0ma7 th0ma7 merged commit 0e05b07 into SynoCommunity:master Jan 18, 2025
1 check passed
@th0ma7 th0ma7 deleted the wheel-cookie branch January 18, 2025 17:10
@th0ma7 th0ma7 mentioned this pull request Jan 26, 2025
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants