From commits-return-7302-archive-asf-public=cust-asf.ponee.io@openwhisk.apache.org Tue May 7 12:17:53 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 07C6F18064C for ; Tue, 7 May 2019 14:17:52 +0200 (CEST) Received: (qmail 33256 invoked by uid 500); 7 May 2019 12:17:52 -0000 Mailing-List: contact commits-help@openwhisk.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openwhisk.apache.org Delivered-To: mailing list commits@openwhisk.apache.org Received: (qmail 33247 invoked by uid 99); 7 May 2019 12:17:52 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 May 2019 12:17:52 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 38CEB8727E; Tue, 7 May 2019 12:17:52 +0000 (UTC) Date: Tue, 07 May 2019 12:17:52 +0000 To: "commits@openwhisk.apache.org" Subject: [incubator-openwhisk-runtime-nodejs] branch master updated: Adding Node.js v12 runtime. (#126) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <155723147216.23803.12924658126431850804@gitbox.apache.org> From: jamesthomas@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: incubator-openwhisk-runtime-nodejs X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 27246e2f2d1f1c512c597d8fe91942e83031c0a4 X-Git-Newrev: 386b13d5642e7e8d9dee00913fc97d529c9637ef X-Git-Rev: 386b13d5642e7e8d9dee00913fc97d529c9637ef X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated This is an automated email from the ASF dual-hosted git repository. jamesthomas pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-runtime-nodejs.git The following commit(s) were added to refs/heads/master by this push: new 386b13d Adding Node.js v12 runtime. (#126) 386b13d is described below commit 386b13d5642e7e8d9dee00913fc97d529c9637ef Author: James Thomas AuthorDate: Tue May 7 13:17:47 2019 +0100 Adding Node.js v12 runtime. (#126) - Re-used nodejs10Action directory for new v12 runtime. - Re-wrote the README to be contain instructions which actually work! --- README.md | 159 +++++++++------------ core/nodejs10Action/package.json | 2 +- core/nodejs12Action/.dockerignore | 8 ++ core/nodejs12Action/CHANGELOG.md | 27 ++++ core/nodejs12Action/Dockerfile | 32 +++++ core/nodejs12Action/build.gradle | 79 ++++++++++ .../package.json | 2 +- settings.gradle | 2 + tests/dat/docker/nodejs12docker/Dockerfile | 3 + .../dat/docker/nodejs12docker/build.gradle | 27 +--- tests/dat/docker/nodejs12docker/package.json | 8 ++ .../NodeJs12ActionContainerTests.scala | 31 ++-- .../actionContainers/NodeJs12ConcurrentTests.scala | 31 ++-- tools/travis/publish.sh | 2 + 14 files changed, 250 insertions(+), 163 deletions(-) diff --git a/README.md b/README.md index 3e10d0b..5a21d5f 100644 --- a/README.md +++ b/README.md @@ -17,141 +17,120 @@ # --> -# Apache OpenWhisk runtimes for nodejs +# Apache OpenWhisk runtimes for Node.js [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) [![Build Status](https://travis-ci.org/apache/incubator-openwhisk-runtime-nodejs.svg?branch=master)](https://travis-ci.org/apache/incubator-openwhisk-runtime-nodejs) +This repository contains sources files needed to build the Node.js runtimes for Apache OpenWhisk. The build system will produce a series of docker images for each runtime version. These images are used in the platform to execute Node.js actions. -### Give it a try today -To use as a docker action for Node.js 6 -``` -wsk action update myAction myAction.js --docker openwhisk/nodejs6action -``` -To use as a docker action for Node.js 8 -``` -wsk action update myAction myAction.js --docker openwhisk/action-nodejs-v8 -``` -This works on any deployment of Apache OpenWhisk +The following Node.js runtime versions (with kind & image labels) are generated by the build system: + +- Node.js 6.17.0 (`nodejs:6 ` & `openwhisk/nodejs6action`) +- Node.js 8.15.1 (`nodejs:8` & `openwhisk/action-nodejs-v8`) +- Node.js 10.15.2 (`nodejs:10` & `openwhisk/action-nodejs-v10`) +- Node.js 12.0.0 (`nodejs:12` & `openwhisk/action-nodejs-v12`) + +This README documents the build, customisation and testing of these runtime images. + +**Do you want to learn more about using Node.js actions to build serverless applications?** Please see the main project documentation [here](https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-nodejs.md) for that information. + +## Usage + +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 v6 -### To use on deployment that contains the runtime as a kind -To use as a kind action using Node.js 6 ``` wsk action update myAction myAction.js --kind nodejs:6 ``` -To use as a kind action using Node.js 8 + +### Node.js v8 + ``` wsk action update myAction myAction.js --kind nodejs:8 ``` -### Local development -For Node.js 6 -``` -./gradlew core:nodejs6Action:distDocker -``` -This will produce the image `whisk/nodejs6action` +### Node.js v10 -For Node.js 8 ``` -./gradlew core:nodejs8Action:distDocker +wsk action update myAction myAction.js --kind nodejs:10 ``` -This will produce the image `whisk/action-nodejs-v8` -For Node.js 10 +### Node.js v12 + ``` -./gradlew core:nodejs10Action:distDocker +wsk action update myAction myAction.js --kind nodejs:12 ``` -This will produce the image `whisk/action-nodejs-v10` +## Images -Build and Push image for Node.js 6 -``` -docker login -./gradlew core:nodejs6Action:distDocker -PdockerImagePrefix=$prefix-user -PdockerRegistry=docker.io -``` +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/nodejs6action](https://hub.docker.com/r/openwhisk/nodejs6action) +- [https://hub.docker.com/r/openwhisk/action-nodejs-v8](https://hub.docker.com/r/openwhisk/action-nodejs-v8) +- [https://hub.docker.com/r/openwhisk/action-nodejs-v10](https://hub.docker.com/r/openwhisk/action-nodejs-v10) +- [https://hub.docker.com/r/openwhisk/action-nodejs-v12](https://hub.docker.com/r/openwhisk/action-nodejs-v12) + +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. -Build and Push image for Node.js 8 -``` -docker login -./gradlew core:nodejs8Action:distDocker -PdockerImagePrefix=$prefix-user -PdockerRegistry=docker.io -``` -Then create the action using your image from dockerhub ``` -wsk action update myAction myAction.js --docker $user_prefix/nodejs6action +wsk action update myAction myAction.js --docker openwhisk/action-nodejs-v12 ``` -The `$user_prefix` is usually your dockerhub user id. -Deploy OpenWhisk using ansible environment that contains the kind `nodejs:6` and `nodejs:8` -Assuming you have OpenWhisk already deployed locally and `OPENWHISK_HOME` pointing to root directory of OpenWhisk core repository. +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. -Set `ROOTDIR` to the root directory of this repository. +### Runtimes Manifest -Redeploy OpenWhisk -``` -cd $OPENWHISK_HOME/ansible -ANSIBLE_CMD="ansible-playbook -i ${ROOTDIR}/ansible/environments/local" -$ANSIBLE_CMD setup.yml -$ANSIBLE_CMD couchdb.yml -$ANSIBLE_CMD initdb.yml -$ANSIBLE_CMD wipe.yml -$ANSIBLE_CMD openwhisk.yml -``` +Available runtimes in Apache OpenWhisk are defined using the runtimes manifest in this file: [runtimes.json](https://github.com/apache/incubator-openwhisk/blob/9dacce433cfdd64aa1e4f5c8eab6db31df8c4eae/ansible/files/runtimes.json#L3-L52) + +Modify the manifest and re-deploy the platform to pick up local images changes. + +## Development + +Dockerfiles for runtime images are defined in the `core` directory. Each runtime version folder has a custom `Dockerfile` and `package.json`. If you need to add extra dependencies to a runtime version - modify these files. + +The `core/nodejsActionBase` folder contains the Node.js app server used to implement the [action interface](https://github.com/apache/incubator-openwhisk/blob/master/docs/actions-new.md#action-interface), used by the platform to inject action code into the runtime and fire invocation requests. This common code is used in all runtime versions. + +### Build + +- Run the `distDocker` command to generate local Docker images for the different runtime versions. -Or you can use `wskdev` and create a soft link to the target ansible environment, for example: ``` -ln -s ${ROOTDIR}/ansible/environments/local ${OPENWHISK_HOME}/ansible/environments/local-nodejs -wskdev fresh -t local-nodejs +./gradlew core:nodejs6Action:distDocker +./gradlew core:nodejs8Action:distDocker +./gradlew core:nodejs10Action:distDocker +./gradlew core:nodejs12Action:distDocker ``` +This will return the following runtime images with the following names: `nodejs6action`, `action-nodejs-v8`, `action-nodejs-v10` and `action-nodejs-v12`. + ### Testing -Install dependencies from the root directory on $OPENWHISK_HOME repository -``` -./gradlew install -``` -Using gradle for the ActionContainer tests you need to use a proxy if running on Mac, if Linux then don't use proxy options -You can pass the flags `-Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128` directly in gradle command. -Or save in your `$HOME/.gradle/gradle.properties` -``` -systemProp.http.proxyHost=localhost -systemProp.http.proxyPort=3128 -``` -Using gradle to run all tests -``` -./gradlew :tests:test -``` -Using gradle to run some tests -``` -./gradlew :tests:test --tests *ActionContainerTests* -``` -Using IntelliJ: -- Import project as gradle project. -- Make sure working directory is root of the project/repo -- Add the following Java VM properties in ScalaTests Run Configuration, easiest is to change the Defaults for all ScalaTests to use this VM properties +- Install project dependencies from the top-level Apache OpenWhisk [project](https://github.com/apache/incubator-openwhisk), which ensures correct versions of dependent libraries are available in the Maven cache. + ``` --Dhttp.proxyHost=localhost --Dhttp.proxyPort=3128 +./gradlew install ``` -### How to use ESLint? +*This command **MUST BE** run from the directory containing the main Apache OpenWhisk [repository](https://github.com/apache/incubator-openwhisk), not this repository's directory.* -ESLint can fix syntactic errors automatically by running: +- Build the local Docker images for the runtime versions (see the instructions above). +- Build the custom Docker images used in local testing. ``` -git clone https://github.com/apache/incubator-openwhisk-runtime-nodejs.git -cd core/nodejsActionBase -npm install -./node_modules/.bin/eslint --fix --ignore-path .gitignore . +./gradlew tests:dat:docker:nodejs6docker:distDocker +./gradlew tests:dat:docker:nodejs8docker:distDocker +./gradlew tests:dat:docker:nodejs10docker:distDocker +./gradlew tests:dat:docker:nodejs12docker:distDocker ``` -`eslint` might produce few errors/warnings along with auto fixing syntax errors: +- Run the project tests. ``` -✖ 3 problems (3 errors, 0 warnings) +./gradlew :tests:test ``` -ESLint configuration file is located at (.eslintrc.json)[core/nodejsActionBase/.eslintrc.json] which can be updated if needed. - # Disclaimer Apache OpenWhisk Runtime Node.js is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicat [...] diff --git a/core/nodejs10Action/package.json b/core/nodejs10Action/package.json index a28200a..baaf0ff 100644 --- a/core/nodejs10Action/package.json +++ b/core/nodejs10Action/package.json @@ -1,5 +1,5 @@ { - "name": "action-nodejs-v8", + "name": "action-nodejs-v10", "version": "1.0.0", "description": "Apache OpenWhisk NodeJS Runtime", "repository": { diff --git a/core/nodejs12Action/.dockerignore b/core/nodejs12Action/.dockerignore new file mode 100644 index 0000000..3081e3e --- /dev/null +++ b/core/nodejs12Action/.dockerignore @@ -0,0 +1,8 @@ +node_modules +package-lock.json +Dockerfile +build.gradle +.project +.settings +build.xml +logs \ No newline at end of file diff --git a/core/nodejs12Action/CHANGELOG.md b/core/nodejs12Action/CHANGELOG.md new file mode 100644 index 0000000..809c13c --- /dev/null +++ b/core/nodejs12Action/CHANGELOG.md @@ -0,0 +1,27 @@ + + +# NodeJS 12 OpenWhisk Runtime Container + +## Apache 1.14 (next release) +Changes: +- Adding Nodejs version 12 +- [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 new file mode 100644 index 0000000..ebbf54f --- /dev/null +++ b/core/nodejs12Action/Dockerfile @@ -0,0 +1,32 @@ +# +# 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.0.0-stretch +RUN apt-get update && apt-get install -y \ + imagemagick \ + graphicsmagick \ + unzip \ + && rm -rf /var/lib/apt/lists/* +WORKDIR /nodejsAction +COPY . . +# COPY the package.json to root container, so we can install npm packages a level up from user's packages, so user's packages take precedence +COPY ./package.json / +RUN cd / && npm install --no-package-lock \ + && npm cache clean --force +EXPOSE 8080 + +CMD node --expose-gc app.js diff --git a/core/nodejs12Action/build.gradle b/core/nodejs12Action/build.gradle new file mode 100644 index 0000000..203a5c1 --- /dev/null +++ b/core/nodejs12Action/build.gradle @@ -0,0 +1,79 @@ +/* + * 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 'copyProxy' +distDocker.dependsOn 'copyRunner' +distDocker.dependsOn 'copyService' +distDocker.dependsOn 'copyPlatform' +distDocker.dependsOn 'copyOpenWhisk' +distDocker.dependsOn 'copyKnative' +distDocker.dependsOn 'copyBuildTemplate' +distDocker.finalizedBy('cleanup') + +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 'app.js' + delete 'runner.js' + delete 'src' + delete 'platform' + delete 'buildtemplate.yaml' +} diff --git a/core/nodejs10Action/package.json b/core/nodejs12Action/package.json similarity index 92% copy from core/nodejs10Action/package.json copy to core/nodejs12Action/package.json index a28200a..734d271 100644 --- a/core/nodejs10Action/package.json +++ b/core/nodejs12Action/package.json @@ -1,5 +1,5 @@ { - "name": "action-nodejs-v8", + "name": "action-nodejs-v12", "version": "1.0.0", "description": "Apache OpenWhisk NodeJS Runtime", "repository": { diff --git a/settings.gradle b/settings.gradle index 20728ed..563a83e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -21,9 +21,11 @@ include 'core:nodejsActionBase' include 'core:nodejs6Action' include 'core:nodejs8Action' include 'core:nodejs10Action' +include 'core:nodejs12Action' include 'tests:dat:docker:nodejs6docker' include 'tests:dat:docker:nodejs8docker' include 'tests:dat:docker:nodejs10docker' +include 'tests:dat:docker:nodejs12docker' rootProject.name = 'runtime-nodejs' diff --git a/tests/dat/docker/nodejs12docker/Dockerfile b/tests/dat/docker/nodejs12docker/Dockerfile new file mode 100644 index 0000000..c586748 --- /dev/null +++ b/tests/dat/docker/nodejs12docker/Dockerfile @@ -0,0 +1,3 @@ +FROM action-nodejs-v12 +COPY package.json . +RUN npm install --production diff --git a/settings.gradle b/tests/dat/docker/nodejs12docker/build.gradle similarity index 56% copy from settings.gradle copy to tests/dat/docker/nodejs12docker/build.gradle index 20728ed..aa867c8 100644 --- a/settings.gradle +++ b/tests/dat/docker/nodejs12docker/build.gradle @@ -15,28 +15,5 @@ * limitations under the License. */ -include 'tests' - -include 'core:nodejsActionBase' -include 'core:nodejs6Action' -include 'core:nodejs8Action' -include 'core:nodejs10Action' -include 'tests:dat:docker:nodejs6docker' -include 'tests:dat:docker:nodejs8docker' -include 'tests:dat:docker:nodejs10docker' - -rootProject.name = 'runtime-nodejs' - -gradle.ext.openwhisk = [ - version: '1.0.0-SNAPSHOT' -] - -gradle.ext.scala = [ - version: '2.12.7', - compileFlags: ['-feature', '-unchecked', '-deprecation', '-Xfatal-warnings', '-Ywarn-unused-import'] -] - -gradle.ext.scalafmt = [ - version: '1.5.0', - config: new File(rootProject.projectDir, '.scalafmt.conf') -] +ext.dockerImageName = 'nodejs12docker' +apply from: '../../../../gradle/docker.gradle' diff --git a/tests/dat/docker/nodejs12docker/package.json b/tests/dat/docker/nodejs12docker/package.json new file mode 100644 index 0000000..6822c09 --- /dev/null +++ b/tests/dat/docker/nodejs12docker/package.json @@ -0,0 +1,8 @@ +{ + "name": "testdocker", + "version": "1.0.0", + "main": "index.js", + "dependencies": { + "openwhisk": "2.0.0" + } +} diff --git a/settings.gradle b/tests/src/test/scala/runtime/actionContainers/NodeJs12ActionContainerTests.scala similarity index 56% copy from settings.gradle copy to tests/src/test/scala/runtime/actionContainers/NodeJs12ActionContainerTests.scala index 20728ed..d04fb0b 100644 --- a/settings.gradle +++ b/tests/src/test/scala/runtime/actionContainers/NodeJs12ActionContainerTests.scala @@ -15,28 +15,13 @@ * limitations under the License. */ -include 'tests' +package runtime.actionContainers -include 'core:nodejsActionBase' -include 'core:nodejs6Action' -include 'core:nodejs8Action' -include 'core:nodejs10Action' -include 'tests:dat:docker:nodejs6docker' -include 'tests:dat:docker:nodejs8docker' -include 'tests:dat:docker:nodejs10docker' +import org.junit.runner.RunWith +import org.scalatest.junit.JUnitRunner -rootProject.name = 'runtime-nodejs' - -gradle.ext.openwhisk = [ - version: '1.0.0-SNAPSHOT' -] - -gradle.ext.scala = [ - version: '2.12.7', - compileFlags: ['-feature', '-unchecked', '-deprecation', '-Xfatal-warnings', '-Ywarn-unused-import'] -] - -gradle.ext.scalafmt = [ - version: '1.5.0', - config: new File(rootProject.projectDir, '.scalafmt.conf') -] +@RunWith(classOf[JUnitRunner]) +class NodeJs12ActionContainerTests extends NodeJs8ActionContainerTests { + override lazy val nodejsContainerImageName = "action-nodejs-v12" + override lazy val nodejsTestDockerImageName = "nodejs12docker" +} diff --git a/settings.gradle b/tests/src/test/scala/runtime/actionContainers/NodeJs12ConcurrentTests.scala similarity index 56% copy from settings.gradle copy to tests/src/test/scala/runtime/actionContainers/NodeJs12ConcurrentTests.scala index 20728ed..a49972c 100644 --- a/settings.gradle +++ b/tests/src/test/scala/runtime/actionContainers/NodeJs12ConcurrentTests.scala @@ -15,28 +15,13 @@ * limitations under the License. */ -include 'tests' +package runtime.actionContainers -include 'core:nodejsActionBase' -include 'core:nodejs6Action' -include 'core:nodejs8Action' -include 'core:nodejs10Action' -include 'tests:dat:docker:nodejs6docker' -include 'tests:dat:docker:nodejs8docker' -include 'tests:dat:docker:nodejs10docker' +import org.junit.runner.RunWith +import org.scalatest.junit.JUnitRunner -rootProject.name = 'runtime-nodejs' - -gradle.ext.openwhisk = [ - version: '1.0.0-SNAPSHOT' -] - -gradle.ext.scala = [ - version: '2.12.7', - compileFlags: ['-feature', '-unchecked', '-deprecation', '-Xfatal-warnings', '-Ywarn-unused-import'] -] - -gradle.ext.scalafmt = [ - version: '1.5.0', - config: new File(rootProject.projectDir, '.scalafmt.conf') -] +@RunWith(classOf[JUnitRunner]) +class NodeJs12ConcurrentTests extends NodeJsConcurrentTests { + override lazy val nodejsContainerImageName = "action-nodejs-v12" + override lazy val nodejsTestDockerImageName = "nodejs8docker" +} diff --git a/tools/travis/publish.sh b/tools/travis/publish.sh index 4b53bb5..e2ca1c3 100755 --- a/tools/travis/publish.sh +++ b/tools/travis/publish.sh @@ -36,6 +36,8 @@ elif [ ${RUNTIME_VERSION} == "8" ]; then RUNTIME="nodejs8Action" elif [ ${RUNTIME_VERSION} == "10" ]; then RUNTIME="nodejs10Action" +elif [ ${RUNTIME_VERSION} == "12" ]; then + RUNTIME="nodejs12Action" fi if [[ ! -z ${DOCKER_USER} ]] && [[ ! -z ${DOCKER_PASSWORD} ]]; then