This is an automated email from the ASF dual-hosted git repository. dgrove pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/openwhisk-runtime-nodejs.git
commit d3508a8def21863427c44188c2488becc521acf4 Author: David Grove <[email protected]> AuthorDate: Fri Apr 28 10:28:56 2023 -0400 remove Node.js v14 runtime 1. Node.js v14 is EOL as of 4/30/2023 2. Our runtime uses a Debian stretch-based base image, which is long past its extended EOL data and security updates are no longer available. --- .github/workflows/ci.yaml | 2 - README.md | 12 +-- core/nodejs14Action/.dockerignore | 13 ---- core/nodejs14Action/CHANGELOG.md | 57 -------------- core/nodejs14Action/Dockerfile | 43 ----------- core/nodejs14Action/build.gradle | 86 ---------------------- settings.gradle | 2 - tests/dat/docker/nodejs14docker/Dockerfile | 19 ----- tests/dat/docker/nodejs14docker/build.gradle | 19 ----- tests/dat/docker/nodejs14docker/package.json | 8 -- .../NodeJs14ActionContainerTests.scala | 27 ------- .../actionContainers/NodeJs14ConcurrentTests.scala | 27 ------- 12 files changed, 1 insertion(+), 314 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 9ea0255..75f48bd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -88,8 +88,6 @@ jobs: working-directory: runtime run: | SHORT_COMMIT=$(git rev-parse --short "$GITHUB_SHA") - ./gradlew :core:nodejs14Action:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk -PdockerImageTag=nightly - ./gradlew :core:nodejs14Action:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk -PdockerImageTag=$SHORT_COMMIT ./gradlew :core:nodejs16Action:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk -PdockerImageTag=nightly ./gradlew :core:nodejs16Action:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk -PdockerImageTag=$SHORT_COMMIT ./gradlew :core:nodejs18Action:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk -PdockerImageTag=nightly diff --git a/README.md b/README.md index 09c936a..cae9511 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,6 @@ This repository contains sources files needed to build the Node.js runtimes for The following Node.js runtime versions (with kind & image labels) are generated by the build system: -- Node.js 14.19 (`nodejs:14` & `openwhisk/action-nodejs-v14`) - Node.js 16 (`nodejs:16` & `openwhisk/action-nodejs-v16`) - Node.js 18 (`nodejs:18` & `openwhisk/action-nodejs-v18`) @@ -38,12 +37,6 @@ This README documents the build, customisation and testing of these runtime imag If the deployment of Apache OpenWhisk includes these images in the runtime manifest, use the `--kind` parameter to select the Node.js runtime version. -### Node.js v14 - -``` -wsk action update myAction myAction.js --kind nodejs:14 -``` - ### Node.js v16 ``` @@ -54,7 +47,6 @@ wsk action update myAction myAction.js --kind nodejs:16 All the runtime images are published by the project to Docker Hub @ [https://hub.docker.com/u/openwhisk](https://hub.docker.com/u/openwhisk) -- [https://hub.docker.com/r/openwhisk/action-nodejs-v14](https://hub.docker.com/r/openwhisk/action-nodejs-v14) - [https://hub.docker.com/r/openwhisk/action-nodejs-v16](https://hub.docker.com/r/openwhisk/action-nodejs-v16) - [https://hub.docker.com/r/openwhisk/action-nodejs-v18](https://hub.docker.com/r/openwhisk/action-nodejs-v18) @@ -83,12 +75,11 @@ The `core/nodejsActionBase` folder contains the Node.js app server used to imple - Run the `distDocker` command to generate local Docker images for the different runtime versions. ``` -./gradlew core:nodejs14Action:distDocker ./gradlew core:nodejs16Action:distDocker ./gradlew core:nodejs18Action:distDocker ``` -This will return the following runtime images with the following names: `action-nodejs-v14`, `action-nodejs-v16`, and `action-nodejs-v18`. +This will return the following runtime images with the following names: `action-nodejs-v16`, and `action-nodejs-v18`. ### Testing @@ -104,7 +95,6 @@ This will return the following runtime images with the following names: `action- - Build the custom Docker images used in local testing. ``` -./gradlew tests:dat:docker:nodejs14docker:distDocker ./gradlew tests:dat:docker:nodejs16docker:distDocker ./gradlew tests:dat:docker:nodejs18docker:distDocker ``` diff --git a/core/nodejs14Action/.dockerignore b/core/nodejs14Action/.dockerignore deleted file mode 100644 index a1d03cb..0000000 --- a/core/nodejs14Action/.dockerignore +++ /dev/null @@ -1,13 +0,0 @@ -*.*~ -*.yaml -*.tmpl -*.gradle -.dockerignore -.project -.settings -build.xml -Dockerfile -logs -node_modules -package-lock.json -test.js diff --git a/core/nodejs14Action/CHANGELOG.md b/core/nodejs14Action/CHANGELOG.md deleted file mode 100644 index 95d4e6b..0000000 --- a/core/nodejs14Action/CHANGELOG.md +++ /dev/null @@ -1,57 +0,0 @@ -<!-- -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---> - -# NodeJS 14 OpenWhisk Runtime Container - -# Apache 1.20 -- Update Node to 14.19.x -Node.js version = [14.19.1](https://nodejs.org/en/blog/release/v14.19.1/) -OpenWhisk version = [OpenWhisk v3.21.6](https://www.npmjs.com/package/openwhisk) - -# Apache 1.19 - - Remove Node.js 10 support - - Update Node to 14.17.2 and 12.22.2 (#197) - - Resolve akka versions explicitly. (#198) - -Node.js version = [14.17.2](https://nodejs.org/en/blog/release/v14.17.2/) -OpenWhisk version = [OpenWhisk v3.21.4](https://www.npmjs.com/package/openwhisk) - -# Apache 1.18 - - Update to openwhisk-client-js 3.21.4 (#194) - - Constraint all transitive akka-* dependencies (#195) - - Update NodeJs to gather fixes (#192) - - Update NodeJs to gather fixes (#188) - - Update from source build. (#187) - - Update NodeJs to gather fixes (#186) - -Node.js version = [14.16.1](https://nodejs.org/en/blog/release/v14.16.1/) -OpenWhisk version = [OpenWhisk v3.21.4](https://www.npmjs.com/package/openwhisk) - -## Apache 1.17 - - Update Node.js and OpenWhisk versions. - -Node.js version = [14.15.1](https://nodejs.org/en/blog/release/v14.15.1/) -OpenWhisk version = [OpenWhisk v3.21.3](https://www.npmjs.com/package/openwhisk) - -## Apache 1.16 -Changes: - - Initial release with support for Node.js v1.14 - -Node.js version = [14.4.0](https://nodejs.org/en/blog/release/v14.4.0/) -OpenWhisk version = [OpenWhisk v3.21.2](https://www.npmjs.com/package/openwhisk) diff --git a/core/nodejs14Action/Dockerfile b/core/nodejs14Action/Dockerfile deleted file mode 100644 index 534df58..0000000 --- a/core/nodejs14Action/Dockerfile +++ /dev/null @@ -1,43 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -FROM node:14.19-stretch - -# Initial update and some basics. -# -RUN apt-get update && apt-get install -y \ - imagemagick \ - graphicsmagick \ - unzip \ - && rm -rf /var/lib/apt/lists/* - -# Add sources and copy the package.json to root container, -# so npm packages from user functions take precedence. -# -WORKDIR /nodejsAction -ADD . /nodejsAction/ -COPY package.json / - -# Customize runtime with additional packages. -# Install package globally so user packages can override. -# -RUN cd / && npm install --no-package-lock --production \ - && npm cache clean --force - -EXPOSE 8080 - -CMD node --expose-gc app.js diff --git a/core/nodejs14Action/build.gradle b/core/nodejs14Action/build.gradle deleted file mode 100644 index 85e0796..0000000 --- a/core/nodejs14Action/build.gradle +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -apply plugin: 'eclipse' -eclipse { - project { - natures 'org.eclipse.wst.jsdt.core.jsNature' - buildCommand 'org.eclipse.wst.jsdt.core.javascriptValidator' - } -} - -ext.dockerImageName = 'action-nodejs-v14' -apply from: '../../gradle/docker.gradle' - -distDocker.dependsOn 'copyPackageJson' -distDocker.dependsOn 'copyProxy' -distDocker.dependsOn 'copyRunner' -distDocker.dependsOn 'copyService' -distDocker.dependsOn 'copyPlatform' -distDocker.dependsOn 'copyOpenWhisk' -distDocker.dependsOn 'copyKnative' -distDocker.dependsOn 'copyBuildTemplate' -distDocker.finalizedBy('cleanup') - -task copyPackageJson(type: Copy) { - from '../nodejsActionBase/package.json' - into '.' -} - -task copyProxy(type: Copy) { - from '../nodejsActionBase/app.js' - into '.' -} - -task copyRunner(type: Copy) { - from '../nodejsActionBase/runner.js' - into '.' -} - -task copyService(type: Copy) { - from '../nodejsActionBase/src/service.js' - into './src' -} - -task copyPlatform(type: Copy) { - from '../nodejsActionBase/platform/platform.js' - into './platform' -} - -task copyOpenWhisk(type: Copy) { - from '../nodejsActionBase/platform/openwhisk.js' - into './platform' -} - -task copyKnative(type: Copy) { - from '../nodejsActionBase/platform/knative.js' - into './platform' -} - -task copyBuildTemplate(type: Copy) { - from '../nodejsActionBase/buildtemplate.yaml' - into '.' -} - -task cleanup(type: Delete) { - delete 'package.json' - delete 'app.js' - delete 'runner.js' - delete 'src' - delete 'platform' - delete 'buildtemplate.yaml' -} diff --git a/settings.gradle b/settings.gradle index 4d7cca6..43e6aad 100644 --- a/settings.gradle +++ b/settings.gradle @@ -18,11 +18,9 @@ include 'tests' include 'core:nodejsActionBase' -include 'core:nodejs14Action' include 'core:nodejs16Action' include 'core:nodejs18Action' include 'core:typescript37Action' -include 'tests:dat:docker:nodejs14docker' include 'tests:dat:docker:nodejs16docker' include 'tests:dat:docker:nodejs18docker' include 'tests:dat:docker:typescript37docker' diff --git a/tests/dat/docker/nodejs14docker/Dockerfile b/tests/dat/docker/nodejs14docker/Dockerfile deleted file mode 100644 index a679436..0000000 --- a/tests/dat/docker/nodejs14docker/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -FROM action-nodejs-v14 -COPY package.json . -RUN npm install --production diff --git a/tests/dat/docker/nodejs14docker/build.gradle b/tests/dat/docker/nodejs14docker/build.gradle deleted file mode 100644 index 222f81b..0000000 --- a/tests/dat/docker/nodejs14docker/build.gradle +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -ext.dockerImageName = 'nodejs14docker' -apply from: '../../../../gradle/docker.gradle' diff --git a/tests/dat/docker/nodejs14docker/package.json b/tests/dat/docker/nodejs14docker/package.json deleted file mode 100644 index 6822c09..0000000 --- a/tests/dat/docker/nodejs14docker/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "testdocker", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "openwhisk": "2.0.0" - } -} diff --git a/tests/src/test/scala/runtime/actionContainers/NodeJs14ActionContainerTests.scala b/tests/src/test/scala/runtime/actionContainers/NodeJs14ActionContainerTests.scala deleted file mode 100644 index ec386c8..0000000 --- a/tests/src/test/scala/runtime/actionContainers/NodeJs14ActionContainerTests.scala +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package runtime.actionContainers - -import org.junit.runner.RunWith -import org.scalatest.junit.JUnitRunner - -@RunWith(classOf[JUnitRunner]) -class NodeJs14ActionContainerTests extends NodeJsActionContainerTests { - override lazy val nodejsContainerImageName = "action-nodejs-v14" - override lazy val nodejsTestDockerImageName = "nodejs14docker" -} diff --git a/tests/src/test/scala/runtime/actionContainers/NodeJs14ConcurrentTests.scala b/tests/src/test/scala/runtime/actionContainers/NodeJs14ConcurrentTests.scala deleted file mode 100644 index bc61f39..0000000 --- a/tests/src/test/scala/runtime/actionContainers/NodeJs14ConcurrentTests.scala +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package runtime.actionContainers - -import org.junit.runner.RunWith -import org.scalatest.junit.JUnitRunner - -@RunWith(classOf[JUnitRunner]) -class NodeJs14ConcurrentTests extends NodeJsConcurrentTests { - override lazy val nodejsContainerImageName = "action-nodejs-v14" - override lazy val nodejsTestDockerImageName = "nodejs14docker" -}
