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

Please Add Support for NodeJS 16 #490

Closed
iamderrick opened this issue Oct 27, 2021 · 38 comments
Closed

Please Add Support for NodeJS 16 #490

iamderrick opened this issue Oct 27, 2021 · 38 comments

Comments

@iamderrick
Copy link

NodeJS 16 entered active long-term support very recently. Can you please add this runtime to the codebuild images?

@koooge
Copy link

koooge commented Nov 23, 2021

👍

workaround

phases:
  install:
    runtime-versions:
      nodejs: 14
    commands:
      - n 16

plmwd added a commit to UCF-Aether/aether-app that referenced this issue Dec 17, 2021
@nhaynes
Copy link

nhaynes commented Dec 30, 2021

If the images use version managers under the hood, why limit the number of available runtime versions to a static set? Couldn't these images just be updated to pass specific versions on to the underlying version managers?

I imagine this could even be backwards compatible with the existing implementation and require a lot less ongoing maintenance of this repository. And a lot fewer workarounds from CodeBuild users.

Specific versions like this would pass straight thru to the nodejs n version manager:

phases:
  install:
    runtime-versions:
      nodejs: 16.13.1

and the image could still provide "supported" versions like 12, 14, 16:

phases:
  install:
    runtime-versions:
      nodejs: 14

leadegroot added a commit to uqlibrary/fez-frontend that referenced this issue Feb 10, 2022
per aws/aws-codebuild-docker-images#490 (comment)

error:
[Container] 2022/02/10 04:49:30 Phase context status code: YAML_FILE_ERROR Message: Unknown runtime version named '16' of nodejs. This build image has the following versions: 12, 14
leadegroot added a commit to uqlibrary/homepage-react that referenced this issue Feb 11, 2022
(note, available images only supports node12 & 14, but you can ovveride it with a command per aws/aws-codebuild-docker-images#490 (comment) )
from fez-frontend: error: [Container] 2022/02/10 04:49:30 Phase context status code: YAML_FILE_ERROR Message: Unknown runtime version named '16' of nodejs. This build image has the following versions: 12, 14
@spencerbeggs
Copy link

Just wanted to chime in and mention that I was able to use @koooge workaround to install a specific version of Node.js using CDK. You can see the relevant code in my template repo. Thank you!

@chunyang-sph
Copy link

waiting for support nodejs version 17

@critesjm
Copy link

bump! 16 has been in LTS for a while now...

@wilhen01
Copy link

wilhen01 commented May 3, 2022

Bump. Would be really good to have this...

@Chase-Dickerson
Copy link

They're getting closer, it seems. NodeJS 16 runtime is now supported for Lambdas. However, it is not yet available for codebuild.

@zoellner
Copy link

zoellner commented May 23, 2022

FYI, this seems to work now. docs still not updated but I tried it just now:

  install:
    runtime-versions:
      nodejs: 16


[Container] 2022/05/23 14:01:37 No commands found for phase name: install
--
7 | [Container] 2022/05/23 14:01:37 Processing environment variables
8 | [Container] 2022/05/23 14:01:37 Selecting 'nodejs' runtime version '16' based on manual selections...
9 | [Container] 2022/05/23 14:01:37 Running command echo "Installing Node.js version 16 ..."
10 | Installing Node.js version 16 ...
11 |  
12 | [Container] 2022/05/23 14:01:37 Running command n $NODE_16_VERSION
13 | copying : node/16.15.0
14 | installed : v16.15.0 (with npm 8.5.5)

Edit: don't recommend this yet. it only works sometimes and seems to be random chance if the build server supports it yet or not

@mneil
Copy link

mneil commented May 23, 2022

Using a version manager isn't a viable solution to picking a version.

  1. It increases already long build times / startup for an already slow service.
  2. I'm paying for build times. See problem 1
  3. Builds running in a VPC without an internet connection cannot pull and build new versions of node

AMI2022 isn't supported on codebuild. AMI2 is dead along with CentOS. Ubuntu images do not have latest software available even a year after it's been released. Please support your own products.

@DylanVann
Copy link

  • Saw that Lambda supports Node 16 now, as of 10 days ago.
  • Created PR to update Lamdba runtime, updated the CodeBuild runtime at the same time.
  • PR runs on CodeBuild, uses Node 16 as mentioned Please Add Support for NodeJS 16 #490 (comment).
  • Merged PR.
  • Other PRs are now failing saying Unknown runtime version named '16' of nodejs.

So it seems that it isn't exactly fully rolled out. Very unfortunate it's only intermittently working, builds should be reproducible.

@DylanVann
Copy link

I also get 'nodejs16.x' runtime is not supported as a Lambda error when downgrading just CodeBuild.

Is there some way to clear the pool of build machines we're using and just get ones that support Node 16?

@jpduckwo
Copy link

Tried in region ap-southeast-2... nodejs: 16 isn't available yet

@arturoribessanz
Copy link

Yesterday morning it was available. At night and now it is not. Looks like they are having some issues updating the version.

@maheshsamudra
Copy link

Yesterday morning it was available. At night and now it is not. Looks like they are having some issues updating the version.

Finally... it's good to know that they are working on it! I was checking https://docs.aws.amazon.com/codebuild/latest/userguide/available-runtimes.html#linux-runtimes every week to see if it's available.

@recs182
Copy link

recs182 commented May 25, 2022

eu-central-1 also does not support it yet... really disappointed since the application won't build at pipelines and therefore blocks the use of node 16 and npm 8.

@brazilianbytes
Copy link

+1. It's a nice feature because Node 12 will go EOF at April 2022. AWS Lambda already have Node 16 available.

@jcuna
Copy link

jcuna commented May 30, 2022

This is pressing. We went through the deal of upgrading lambdas to 16 and we use codebuild to build our lambdas. Hope there's a fix soon.

@arturoribessanz
Copy link

+1

workaround

phases:
  install:
    runtime-versions:
      nodejs: 14
    commands:
      - n 16

This workaround works well and does not add a lot of time to the build process.

@h5aaimtron
Copy link

nodejs: latest is defaulting back to v12.22.2 again. It was pulling 14+ for the last few months.

@jpduckwo
Copy link

jpduckwo commented Jun 2, 2022

nodejs: latest is defaulting back to v12.22.2 again. It was pulling 14+ for the last few months.

I'm sceptical :) What region, and what is your build config?

@umertauheed
Copy link

umertauheed commented Jun 5, 2022

nodejs: latest is defaulting back to v12.22.2 again. It was pulling 14+ for the last few months.

having same issue for few days.

nodejs: latest is defaulting back to v12.22.2 again. It was pulling 14+ for the last few months.

I'm sceptical :) What region, and what is your build config?

region: Singapore

@HansFalkenberg-Visma
Copy link

It'd be great if codebuild could commit to getting the next LTS of node out earlier, like Lambda has (almost) promised.

We recognize that customers have been waiting for some time for this runtime release. We hear your feedback and plan to release the next Node.js runtime version in a timelier manner.

https://aws.amazon.com/blogs/compute/node-js-16-x-runtime-now-available-in-aws-lambda/

@monigala
Copy link

👍

workaround

phases:
  install:
    runtime-versions:
      nodejs: 14
    commands:
      - n 16

After buildspec completes, the AWS Lambda displays Runtime Node.js 14.x. So its confusing. It's built with v16 but runs on v14?

@benton
Copy link

benton commented Jun 14, 2022

The production images built from this repo are referenced in the AWS CDK as, aws_cdk.aws_codebuild.LinuxBuildImage

a new version of the AWS CDK was released today that has broken CDK pipelines because it was not tested against Node 12 (or because Node 14 and/or 16 are not included in these images, depending your perspective).

Please release newer images with more recent, production-ready versions of NodeJS as soon as possible, thanks.

@mbsimonovic
Copy link

us-east-1:

[Container] 2022/06/22 12:56:52 Unknown runtime version named '16' of nodejs. This build image has the following versions: 12, 14
10

@subinataws
Copy link
Contributor

Addressed in https://github.com/aws/aws-codebuild-docker-images/releases/tag/22.06.30

@aws aws deleted a comment from MoMannn Jul 4, 2022
@HansFalkenberg-Visma
Copy link

HansFalkenberg-Visma commented Jul 5, 2022

Thanks for getting this out. However, the documentation still says nodejs 14 is the latest available:
https://docs.aws.amazon.com/codebuild/latest/userguide/runtime-versions.html
https://docs.aws.amazon.com/codebuild/latest/userguide/available-runtimes.html
Update 2022-07-14: documentation has nodejs 16 now

Also, anyone using CDK will have to wait just a little longer, if they don't want to use workarounds: aws/aws-cdk#20960

@maheshsamudra
Copy link

maheshsamudra commented Sep 1, 2022 via email

@monigala
Copy link

monigala commented Sep 1, 2022 via email

@nociza
Copy link

nociza commented Sep 10, 2022

It seems that the aarch64 containers only support up to 12, which really should be updated by now.
Message: Unknown runtime version named '16' of nodejs. This build image has the following versions: 10, 12

@cihan-paytrail
Copy link

cihan-paytrail commented Sep 26, 2022

I resolved this issue by updating the CodeBuild Linux image from the default 5.0 to 6.0.

E.g. with TypeScript & AWS CDK:

new PipelineProject(scope, `my-build`, {
  environment: {
    buildImage: LinuxBuildImage.STANDARD_6_0,
  }
});

chalimbu pushed a commit to juanpa-dev/bike_microservices that referenced this issue Oct 28, 2022
@ilyakonrad
Copy link

Year later it is still not supported?

@dls314
Copy link

dls314 commented Oct 31, 2022

Year later it is still not supported?

Supported #490 (comment)

@ilyakonrad
Copy link

Year later it is still not supported?

Supported #490 (comment)

I mean nodejs: 16 didn't work today, should I use the full version name?

@thiagosanches
Copy link

It's not working yet:
image

@N1kell
Copy link

N1kell commented Nov 4, 2022

It's not working yet: image

For me switching "Current environment image" to aws/codebuild/standard:6.0 solved the issue

@GabrielDelepine
Copy link

GabrielDelepine commented Jan 2, 2023

The available runtimes are listed in the definition of the docker images provided by CodeBuild

https://docs.aws.amazon.com/en_us/codebuild/latest/userguide/build-env-ref-available.html

For instance

  • aws/codebuild/amazonlinux2-aarch64-standard:1.0 supports nodejs 8, 10 and 12

  • aws/codebuild/amazonlinux2-aarch64-standard:2.0 supports nodejs 10 and 12

  • aws/codebuild/amazonlinux2-x86_64-standard:3.0 supports nodejs 10 and 12

  • aws/codebuild/amazonlinux2-x86_64-standard:4.0 supports nodejs 16

  • aws/codebuild/standard:6.0 supports nodejs 16

@joebowbeer
Copy link
Contributor

@koooge wrote:

workaround

phases:
  install:
    runtime-versions:
      nodejs: 14
    commands:
      - n 16

In case it's not clear, this same technique can be used to install nodejs 18 on aws/codebuild/standard:5.0

phases:
  install:
    runtime-versions:
      nodejs: 14
    commands:
      - n 18

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests