From 3c6c6d48c498a07d9a98cd10cdd5ba867a554203 Mon Sep 17 00:00:00 2001 From: David Grove Date: Mon, 9 May 2022 09:56:46 -0400 Subject: [PATCH] remove Node.js 12 based runtime (EOL April 30, 2022) --- .travis.yml | 2 +- README.md | 14 +-- core/nodejs12Action/.dockerignore | 13 --- core/nodejs12Action/CHANGELOG.md | 75 ---------------- core/nodejs12Action/Dockerfile | 43 ---------- core/nodejs12Action/build.gradle | 86 ------------------- settings.gradle | 2 - tests/dat/docker/nodejs12docker/Dockerfile | 19 ---- tests/dat/docker/nodejs12docker/build.gradle | 19 ---- tests/dat/docker/nodejs12docker/package.json | 8 -- .../NodeJs12ActionContainerTests.scala | 27 ------ .../NodeJs12ConcurrentTests.scala | 27 ------ 12 files changed, 3 insertions(+), 332 deletions(-) delete mode 100644 core/nodejs12Action/.dockerignore delete mode 100644 core/nodejs12Action/CHANGELOG.md delete mode 100644 core/nodejs12Action/Dockerfile delete mode 100644 core/nodejs12Action/build.gradle delete mode 100644 tests/dat/docker/nodejs12docker/Dockerfile delete mode 100644 tests/dat/docker/nodejs12docker/build.gradle delete mode 100644 tests/dat/docker/nodejs12docker/package.json delete mode 100644 tests/src/test/scala/runtime/actionContainers/NodeJs12ActionContainerTests.scala delete mode 100644 tests/src/test/scala/runtime/actionContainers/NodeJs12ConcurrentTests.scala diff --git a/.travis.yml b/.travis.yml index fe452aff..5c1b5145 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,7 +42,7 @@ deploy: all_branches: true repo: apache/openwhisk-runtime-nodejs - provider: script - script: "./tools/travis/publish.sh openwhisk nodejs12Action nightly && ./tools/travis/publish.sh openwhisk nodejs14Action nightly && ./tools/travis/publish.sh openwhisk nodejs16Action nightly && ./tools/travis/publish.sh openwhisk typescript37Action nightly" + script: "./tools/travis/publish.sh openwhisk nodejs14Action nightly && ./tools/travis/publish.sh openwhisk nodejs16Action nightly && ./tools/travis/publish.sh openwhisk typescript37Action nightly" on: branch: master repo: apache/openwhisk-runtime-nodejs diff --git a/README.md b/README.md index c423b376..6f9c8ef0 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 12.22.2 (`nodejs:12` & `openwhisk/action-nodejs-v12`) - Node.js 14.17.2 (`nodejs:14` & `openwhisk/action-nodejs-v14`) - Node.js 16.13.1 (`nodejs:16` & `openwhisk/action-nodejs-v16`) @@ -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 v12 - -``` -wsk action update myAction myAction.js --kind nodejs:12 -``` - ### Node.js v14 ``` @@ -60,14 +53,13 @@ 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-v12](https://hub.docker.com/r/openwhisk/action-nodejs-v12) - [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) These images can be used to execute Node.js actions on any deployment of Apache OpenWhisk, even those without those images defined the in runtime manifest, using the `--docker` action parameter. ``` -wsk action update myAction myAction.js --docker openwhisk/action-nodejs-v12 +wsk action update myAction myAction.js --docker openwhisk/action-nodejs-v16 ``` If you build a custom version of the images, pushing those an external Docker Hub repository will allow you to use those on the Apache OpenWhisk deployment. @@ -89,12 +81,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:nodejs12Action:distDocker ./gradlew core:nodejs14Action:distDocker ./gradlew core:nodejs16Action:distDocker ``` -This will return the following runtime images with the following names: `action-nodejs-v12`, `action-nodejs-v14` and `action-nodejs-v16`. +This will return the following runtime images with the following names: `action-nodejs-v14` and `action-nodejs-v16`. ### Testing @@ -110,7 +101,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:nodejs12docker:distDocker ./gradlew tests:dat:docker:nodejs14docker:distDocker ./gradlew tests:dat:docker:nodejs16docker:distDocker ``` diff --git a/core/nodejs12Action/.dockerignore b/core/nodejs12Action/.dockerignore deleted file mode 100644 index a1d03cb9..00000000 --- a/core/nodejs12Action/.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/nodejs12Action/CHANGELOG.md b/core/nodejs12Action/CHANGELOG.md deleted file mode 100644 index fb7063b5..00000000 --- a/core/nodejs12Action/CHANGELOG.md +++ /dev/null @@ -1,75 +0,0 @@ - - -# NodeJS 12 OpenWhisk Runtime Container - -# Next Release -- Update Node to 12.22.x -Node.js version = [12.22.9](https://nodejs.org/en/blog/release/v12.22.9/) -OpenWhisk version = [OpenWhisk v3.21.4](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 = [12.22.2](https://nodejs.org/en/blog/release/v12.22.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 = [12.22.1](https://nodejs.org/en/blog/release/v12.22.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 = [12.19.1](https://nodejs.org/en/blog/release/v12.19.1/) -OpenWhisk version = [OpenWhisk v3.21.3](https://www.npmjs.com/package/openwhisk) - -## Apache 1.16 -Changes: - - Update Node.js and OpenWhisk versions. - - Update OpenWhisk npm package - -Node.js version = [12.18.2](https://nodejs.org/en/blog/release/v12.18.2/) -OpenWhisk version = [OpenWhisk v3.21.2](https://www.npmjs.com/package/openwhisk) - -## Apache 1.15 -Changes: - - Update Node.js - - Update OpenWhisk npm package - - Support for __OW_ACTION_VERSION (openwhisk/4761) - -Node.js version = [12.15.0](https://nodejs.org/en/blog/release/v12.15.0/) -OpenWhisk version = [OpenWhisk v3.21.1](https://www.npmjs.com/package/openwhisk) - -## Apache 1.14 -Changes: -- Adding Nodejs version 12 -- Node.js version = [12.8.1](https://nodejs.org/en/blog/release/v12.8.1/) -- [OpenWhisk v3.18.0](https://www.npmjs.com/package/openwhisk) - JavaScript client library for the OpenWhisk platform. Provides a wrapper around the OpenWhisk APIs. - -Node.js version = [12.1.0](https://nodejs.org/en/blog/release/v12.1.0/) diff --git a/core/nodejs12Action/Dockerfile b/core/nodejs12Action/Dockerfile deleted file mode 100644 index 1d55950e..00000000 --- a/core/nodejs12Action/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:12.22-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/nodejs12Action/build.gradle b/core/nodejs12Action/build.gradle deleted file mode 100644 index ae773f6d..00000000 --- a/core/nodejs12Action/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-v12' -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 cd8be379..ac326ce3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -18,11 +18,9 @@ include 'tests' include 'core:nodejsActionBase' -include 'core:nodejs12Action' include 'core:nodejs14Action' include 'core:nodejs16Action' include 'core:typescript37Action' -include 'tests:dat:docker:nodejs12docker' include 'tests:dat:docker:nodejs14docker' include 'tests:dat:docker:nodejs16docker' include 'tests:dat:docker:typescript37docker' diff --git a/tests/dat/docker/nodejs12docker/Dockerfile b/tests/dat/docker/nodejs12docker/Dockerfile deleted file mode 100644 index 426097cb..00000000 --- a/tests/dat/docker/nodejs12docker/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-v12 -COPY package.json . -RUN npm install --production diff --git a/tests/dat/docker/nodejs12docker/build.gradle b/tests/dat/docker/nodejs12docker/build.gradle deleted file mode 100644 index aa867c86..00000000 --- a/tests/dat/docker/nodejs12docker/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 = 'nodejs12docker' -apply from: '../../../../gradle/docker.gradle' diff --git a/tests/dat/docker/nodejs12docker/package.json b/tests/dat/docker/nodejs12docker/package.json deleted file mode 100644 index 6822c092..00000000 --- a/tests/dat/docker/nodejs12docker/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/NodeJs12ActionContainerTests.scala b/tests/src/test/scala/runtime/actionContainers/NodeJs12ActionContainerTests.scala deleted file mode 100644 index efba5698..00000000 --- a/tests/src/test/scala/runtime/actionContainers/NodeJs12ActionContainerTests.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 NodeJs12ActionContainerTests extends NodeJsActionContainerTests { - override lazy val nodejsContainerImageName = "action-nodejs-v12" - override lazy val nodejsTestDockerImageName = "nodejs12docker" -} diff --git a/tests/src/test/scala/runtime/actionContainers/NodeJs12ConcurrentTests.scala b/tests/src/test/scala/runtime/actionContainers/NodeJs12ConcurrentTests.scala deleted file mode 100644 index e3414c40..00000000 --- a/tests/src/test/scala/runtime/actionContainers/NodeJs12ConcurrentTests.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 NodeJs12ConcurrentTests extends NodeJsConcurrentTests { - override lazy val nodejsContainerImageName = "action-nodejs-v12" - override lazy val nodejsTestDockerImageName = "nodejs12docker" -}