node-engine icon indicating copy to clipboard operation
node-engine copied to clipboard

Add ARM dependencies

Open c0d1ngm0nk3y opened this issue 9 months ago • 8 comments

Prerequisite: New packit release must be consumed to handle the same dependencies with different architectures.

Summary

Adding arm dependencies for download

Use Cases

I want to build an arm image.

Checklist

  • [X] I have viewed, signed, and submitted the Contributor License Agreement.
  • [ ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
  • [ ] I have added an integration test, if necessary.
  • [X] I have reviewed the styleguide for guidance on my code quality.
  • [X] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

c0d1ngm0nk3y avatar Mar 17 '25 15:03 c0d1ngm0nk3y

@paketo-buildpacks/nodejs-maintainers Probably some adjustment to dependabot are needed. Could you give me some guidance?

c0d1ngm0nk3y avatar Mar 17 '25 15:03 c0d1ngm0nk3y

@pacostas I think you know the most about freezer so maybe you can take the first look.

mhdawson avatar Mar 17 '25 16:03 mhdawson

Nice! I think it would be good to apply the multi-arch changes too by following what has been changed on below two PRs:

  • https://github.com/paketo-buildpacks/npm-install/pull/806/files
  • https://github.com/paketo-buildpacks/npm-install/pull/848/files

You will also see on the buildpack.toml file, that is specified the include-files, pre-package and the target attributes. These are necessary for jam and pack, to know what to package.

If you apply the multi-arch changes, then I can run it locally and see what is failing as there are a lot of chances that the error might be due pack does not match properly the arm assets.

pacostas avatar Mar 17 '25 16:03 pacostas

I think it would be good to apply the multi-arch changes too

see https://github.com/paketo-buildpacks/node-engine/pull/1145/commits/93da5f2f153774089bc3d9932250b8ba8b1b58ff

c0d1ngm0nk3y avatar Mar 28 '25 10:03 c0d1ngm0nk3y

I think it would be good to apply the multi-arch changes too by following what has been changed on below two PRs

I am starting to understand the github-config idea. I hadn't much touch points in the past. But is it not suboptimal to change some files like build.sh, package.sh or create-draft-release.yml and add them to .syncignore. Especially if node-engine would need the very same changes? I think that is the idea behind github-config or what is the planto avoid double maintenance?

c0d1ngm0nk3y avatar Mar 28 '25 14:03 c0d1ngm0nk3y

The plan is to sync all the scripts on github-config and remove them from .syncignore, once we ensure that all the buildpacks are able to use these scripts without breaking any of the worfklows. We dont have to go through the whole list https://github.com/paketo-buildpacks/nodejs/issues/995 and open PRs for each buildpack, instead, by ensuring that this PR works with the extension, the npm-install, the node-engine and the nodejs repos, I think we are good to merge it on github-config little by little and later on removing it from .syncignore to be in sync with github-config.

pacostas avatar Mar 31 '25 09:03 pacostas

@c0d1ngm0nk3y This PR is superseded by this one https://github.com/paketo-buildpacks/node-engine/pull/1293

pacostas avatar Sep 19 '25 17:09 pacostas

@c0d1ngm0nk3y I think this PR can be closed as the arm dependencies have been added. WDYT?

pacostas avatar Oct 24 '25 12:10 pacostas