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

Add Dart plugin #99

Merged
merged 5 commits into from
Nov 29, 2022
Merged

Add Dart plugin #99

merged 5 commits into from
Nov 29, 2022

Conversation

rvolosatovs
Copy link
Owner

@rvolosatovs rvolosatovs commented Apr 13, 2022

Closes #100

This PR serves as a starting point for adding back Dart support

@rvolosatovs rvolosatovs changed the title fix: reenable dart test Fix Dart plugin Apr 13, 2022
@rvolosatovs rvolosatovs force-pushed the fix/dart branch 2 times, most recently from 34782c0 to f5aa418 Compare July 11, 2022 12:16
@rvolosatovs rvolosatovs changed the title Fix Dart plugin Add Dart plugin Jul 11, 2022
@strophy strophy marked this pull request as ready for review November 28, 2022 08:38
@strophy
Copy link
Collaborator

strophy commented Nov 28, 2022

@rvolosatovs this was an interesting one! I successfully worked around sgerrand/alpine-pkg-glibc#175 (by manually creating a symlink in /lib64) and sgerrand/alpine-pkg-glibc#185 (using --force-overwrite) but then found the package does not include arm64 builds. There are numerous opened issues and forks, but nothing is properly maintained. So I was thinking the best approach would be to set Dart to no arm64 support. There are also strong rants by Alpine devs against using this package, so it would be nice to somehow drop it.

Then I thought it was strange that Dart is the only language that needs to link against dynamic glibc. After reading the dart Docker Hub docs more closely, they actually advertise extremely small images through a distroless approach. The runtime is supplied in the builder image, and intended to be copied into a FROM scratch runtime image. Since we are using Alpine for the output image, copying this layer of vendored glibc dependencies in seems to have no negative effects, and has the positive effect of simplifying our build by removing the difficult alpine-pkg-glibc dependency, while adding Dart support on arm64.

@rvolosatovs rvolosatovs enabled auto-merge (rebase) November 29, 2022 19:22
Copy link
Owner Author

@rvolosatovs rvolosatovs left a comment

Choose a reason for hiding this comment

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

Awesome work @strophy ! Thanks a lot!

@rvolosatovs rvolosatovs merged commit 63332a1 into main Nov 29, 2022
@rvolosatovs rvolosatovs deleted the fix/dart branch November 29, 2022 19:23
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.

Dart plugin fails to execute
2 participants