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

Fix ARM container builds #314

Merged
merged 3 commits into from
Aug 8, 2024
Merged

Fix ARM container builds #314

merged 3 commits into from
Aug 8, 2024

Conversation

perfectra1n
Copy link

@perfectra1n perfectra1n commented Aug 8, 2024

There are quite a few bugs when using GitHub Actions along with node:alpine and armv7/armv6 builds. This includes the following issues:
docker/build-push-action#1071
docker/build-push-action#977
nodejs/docker-node#2077

I also tried some of the workarounds listed in the above issues, but instead got really strange errors:

docker run testingnotes
No USER_UID specified, leaving 1000
No USER_GID specified, leaving 1000
(node:1) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Generated session secret


#
# Fatal error in , line 0
# Check failed: module->status() == kLinked || module->status() == kEvaluated.
#
#
#
#FailureMessage Object: 0x7ffc01003cf0
----- Native stack trace -----

I split the container into the "build step" using Node v18, and then changed to use the "run step" at Node v20, copying over the node modules, etc., and the above error popped up every time.

So the next best option that I found was to instead use node's slim Debian container instead, so that we could at least get ARM builds out the door. We will have to drop ARMv6 compatibility, but instead we can then add ARM64v8 builds.

I know that Debian's slim containers are larger than Alpine's, but at least we can then have ARMv7 / ARM64v8.

I also had to change the su-exec command in the start-docker.sh to use gosu instead because we're using Debian.

Copy link
Contributor

@eliandoran eliandoran left a comment

Choose a reason for hiding this comment

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

LGTM.

@eliandoran eliandoran merged commit 50a6a1f into develop Aug 8, 2024
1 check passed
@eliandoran eliandoran deleted the fix-arm-builds branch August 8, 2024 22:06
@eliandoran eliandoran mentioned this pull request Aug 8, 2024
@eliandoran eliandoran added this to the v0.90.4 milestone Aug 11, 2024
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.

2 participants