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

[cleanup] feat(prebuild): support of Alpine binaries #2366

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Delagen
Copy link

@Delagen Delagen commented Mar 25, 2024

  • update dependencies
  • rework binding.gyp
  • rework msys bundle for Windows
  • add bundle for MUSL (Alpine)
  • rework bundle scripts and ci

Thanks for contributing!

  • Have you updated CHANGELOG.md?

@Delagen
Copy link
Author

Delagen commented Mar 25, 2024

Some issues with test on Alpine Linux
https://github.com/Delagen/node-canvas/actions/runs/8421478461/job/23058526480#step:6:268
3 tests failed ( concerning measureText (but may be it normal)

Pipeline reworked to create tag named vX.Y.Z, will be created prerelease and all artifacts will be uploaded to it.
After this you can rewrite it as you wish.

Added comments in workflows for continue-on-error (failed tests on windows(node20) and alpine).
Added commented matrix for macOS ARM based, but seems it need special worker somewhere or some payed account

Thanks @jamesbvaughan and @davidanthoff for some parts of their PR

Thought about MSYS Clang based system, but seems without Windows ARM runner we can't solve this

@Delagen
Copy link
Author

Delagen commented Mar 25, 2024

Example of generated assets
https://github.com/Delagen/node-canvas/releases/tag/v3.0.1

@Delagen
Copy link
Author

Delagen commented Mar 25, 2024

Need to rewrite Wiki articles for building on Windows to remove manual download of libraries and use only MSYS case.

  1. Install MSYS
  2. Launch in UCRT64 system (with path-type: inherit)
  3. Install dependencies, gen definitions manually or simply run . ./prebuild/Windows/preinstall.sh
  4. npm install --build-from-source or npm rebuild (in MSYS environment).
    That's all.
  5. Run . prebuild/Windows/bundle.sh to copy all needed dll into build folder to remove dependency of MSYS env.

@zbjornson
Copy link
Collaborator

Thanks for preparing this!

I really need to delete the prebuilds directory in the master branch -- prebuilds are made using the prebuilds branch, and you're not the first person to try to use the master branch (#2354 (comment)). Sorry about that. As noted in that comment, we're blocked on making prebuilds to work with N-API right now...

@Delagen Delagen force-pushed the rework-bundle branch 2 times, most recently from 20f2544 to a5f13e2 Compare March 28, 2024 08:06
@Delagen
Copy link
Author

Delagen commented Mar 28, 2024

@zbjornson Thanks for comment, clean up this MR, and will open new on Prebuilds target

@Delagen Delagen changed the title feat(prebuild): support of Alpine binaries [cleanup] feat(prebuild): support of Alpine binaries Mar 28, 2024
@Delagen Delagen force-pushed the rework-bundle branch 6 times, most recently from a158a5d to fad5b2d Compare March 28, 2024 12:09
@Delagen Delagen force-pushed the rework-bundle branch 4 times, most recently from 9b31da3 to ec1eb3f Compare April 26, 2024 15:18
- update dependencies
- rework binding.gyp
- rework msys bundle for Windows
- add bundle for MUSL (Alpine)
- rework bundle scripts and ci

moved to prebuild
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