Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Add Node 18 to current image variants. #607

Closed
kimmoahokas opened this issue Mar 13, 2023 · 16 comments
Closed

Add Node 18 to current image variants. #607

kimmoahokas opened this issue Mar 13, 2023 · 16 comments

Comments

@kimmoahokas
Copy link

The LTS support for Node 16 is ending 2023-09-11. Please add support for the next LTS release, Node 18 as soon as possible. We need to start migrating our workloads soon, but can't really do that without CodeBuild support.

@JoeFirebaugh
Copy link

For what it's worth, this is how our team uses NodeJS 18 in our builds.

image

@kimmoahokas
Copy link
Author

Yes, I'm aware of that and have been using it as well in some less-critical builds. But in the longer run I'm rather hesitant to use a feature that is not documented and officially supported.

@subinataws
Copy link
Contributor

subinataws commented Mar 30, 2023

Node 18 should be supported on Ubuntu based image in a couple of weeks from now. Amazon Linux image will be updated to AL2023 base and support Node 18 by mid-May.

@Dylan-AWS
Copy link
Contributor

Added node18 support to Ubuntu 7.0 #621

@mfittko
Copy link

mfittko commented Apr 14, 2023

Can we also get this for the AMAZON_LINUX2 based images? What about AARCH/ARM? It would be really odd if we couldn't use codebuild for our project since we're on graviton2 (ARM), ruby 3.1 and node LTS (18)...

(EDIT)
Just saw that AARCH even got deprecated. Don't you want the users to be able to build their current projects on ARM any more? That means we cannot deploy our Fargate workloads on ARM unless we want to live with cross platform builds (bad performance, possible bug vector)

@subinataws
Copy link
Contributor

Arm images will get an update next week. AL2023 updates by mid-May.

@mfittko
Copy link

mfittko commented Apr 14, 2023

Arm images will get an update next week. AL2023 updates by mid-May.

Sounds great 👍 Will the ARM images also be not deprecated then? I just saw that these images are like 3gb so it's really not an option for us if they won't be cached.

@subinataws
Copy link
Contributor

Older images will need to be dropped from cache, so as to make space for the newer versions. Customers will get heads up before they are dropped from cache. All the supported versions will still be cached on the build server's AMI, which is typically the latest version (say, n) and the just prior version (n-1).

We will look into re-introducing per language runtimes to avoid long provisioning times when images are no longer cached. Offering multiple version of runtimes on the same image makes these images quite big unfortunately.

@mfittko
Copy link

mfittko commented Apr 14, 2023

yeah, thanks for the insights @subinataws . to me, as building long time CircleCI customer, it is also a bit odd, not to be able to build your own image on top of the base. so why not just provide barebone base images like https://github.com/CircleCI-Public/cimg-base where we could add whatever lib or binary we would need to, so basically only our additional layers would not be cached on the runners if we'd provide these on ECR for ourselves?

@subinataws
Copy link
Contributor

@mfittko - Thanks for bringing that up. We certainly can host the CodeBuild images that are based on Amazon Linux (unfortunately not for Ubuntu) on https://gallery.ecr.aws/codebuild. We have the x86 version there and I see that we never published the Arm ones. We'll get that published on there as well. You can derive from those public images to extend your custom images.

@mfittko
Copy link

mfittko commented Apr 14, 2023

That would be super awesome. I just hope that given the huge size of these images, that also the layers of these ECR hosted images will be cached on the build hosts? Are the build hosts picked based on the architecture of the image or will they all be ran (emulated on an AMD64 host)?

(Sorry for getting off topic, btw)

@subinataws
Copy link
Contributor

Build instances are picked based on the architecture selected in the CodeBuild project.

@vitorhnn
Copy link

Any update on the new ARM images? This is blocking us from upgrading to Node 18 for our builds.

@Dylan-AWS
Copy link
Contributor

Noe8 is supported on ARM #627

@walkerchiu
Copy link

walkerchiu commented May 11, 2023

I'm using AWS Copilot to build a Fargate-based ECS, and I get the following error during the CodeBuild stage:

[Container] 2023/05/11 15:08:29 Running command n 18.16.0

74 | installing : node-v18.16.0
75 | mkdir : /usr/local/n/versions/node/18.16.0
76 | fetch : https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-x64.tar.xz
77 | copying : node/18.16.0
78 | node: /lib64/libm.so.6: version GLIBC_2.27' not found (required by node) 79 | node: /lib64/libc.so.6: version GLIBC_2.28' not found (required by node)
80 | /usr/local/bin/node: /lib64/libm.so.6: version GLIBC_2.27' not found (required by /usr/local/bin/node) 81 | /usr/local/bin/node: /lib64/libc.so.6: version GLIBC_2.28' not found (required by /usr/local/bin/node)
82 | installed : (with npm )
83 |  
84 | [Container] 2023/05/11 15:08:45 Running command npm config set @FortAwesome:registry https://npm.fontawesome.com/
85 | node: /lib64/libm.so.6: version GLIBC_2.27' not found (required by node) 86 | node: /lib64/libc.so.6: version GLIBC_2.28' not found (required by node)
87 |  

But using the 16.16 version is no problem.

@subinataws
Copy link
Contributor

Node 18 is now supported in amazonlinux2-x86_64-standard:5.0 https://github.com/aws/aws-codebuild-docker-images/blob/master/al2/x86_64/standard/5.0/runtimes.yml#L51

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants