drop typescript37 runtime

1. obsolete version of TypeScript
2. The base Node.js and OS versions long past EOL and not supported.
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 75f48bd..612fcb4 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -92,8 +92,6 @@
           ./gradlew :core:nodejs16Action:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk -PdockerImageTag=$SHORT_COMMIT
           ./gradlew :core:nodejs18Action:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk -PdockerImageTag=nightly
           ./gradlew :core:nodejs18Action:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk -PdockerImageTag=$SHORT_COMMIT
-          ./gradlew :core:typescript37Action:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk -PdockerImageTag=nightly
-          ./gradlew :core:typescript37Action:distDocker -PdockerRegistry=docker.io -PdockerImagePrefix=openwhisk -PdockerImageTag=$SHORT_COMMIT
       - name: Push Release Images
         if: ${{ env.PUSH_RELEASE == 'true' }}
         working-directory: runtime
diff --git a/.gitignore b/.gitignore
index 0f904f2..d5aef40 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,9 +17,6 @@
 !/ansible/environments/local
 !/ansible/environments/mac
 
-# actionloop action compiler script
-!core/typescript37Action/bin/compile
-
 # Eclipse
 bin/
 **/.project
diff --git a/core/typescript37Action/.dockerignore b/core/typescript37Action/.dockerignore
deleted file mode 100644
index a1d03cb..0000000
--- a/core/typescript37Action/.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/typescript37Action/Dockerfile b/core/typescript37Action/Dockerfile
deleted file mode 100644
index 02ab73d..0000000
--- a/core/typescript37Action/Dockerfile
+++ /dev/null
@@ -1,80 +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.
-#
-
-# build go proxy from source
-FROM golang:1.15 AS builder_source
-ARG GO_PROXY_GITHUB_USER=apache
-ARG GO_PROXY_GITHUB_BRANCH=master
-RUN git clone --branch ${GO_PROXY_GITHUB_BRANCH} \
-   https://github.com/${GO_PROXY_GITHUB_USER}/openwhisk-runtime-go /src ;\
-   cd /src ; env GO111MODULE=on CGO_ENABLED=0 go build main/proxy.go && \
-   mv proxy /bin/proxy
-
-# or build it from a release
-FROM golang:1.15 AS builder_release
-ARG GO_PROXY_RELEASE_VERSION=1.15@1.17.0
-RUN curl -sL \
-  https://github.com/apache/openwhisk-runtime-go/archive/{$GO_PROXY_RELEASE_VERSION}.tar.gz\
-  | tar xzf -\
-  && cd openwhisk-runtime-go-*/main\
-  && GO111MODULE=on go build -o /bin/proxy
-
-FROM node:12.1.0-stretch
-
-# select the builder to use
-ARG GO_PROXY_BUILD_FROM=release
-
-ENV TYPESCRIPT_VERSION=3.7.4
-ENV OW_COMPILER=/bin/compile
-ENV OW_LOG_INIT_ERROR=1
-ENV OW_WAIT_FOR_ACK=1
-ENV OW_EXECUTION_ENV=openwhisk/typescript3.7
-
-# Initial update and some basics.
-#
-RUN apt-get update && apt-get install -y \
-    imagemagick \
-    graphicsmagick \
-    unzip \
-    && rm -rf /var/lib/apt/lists/* &&\
-    mkdir -p /app/action
-
-WORKDIR /proxy
-COPY --from=builder_source /bin/proxy /bin/proxy_source
-COPY --from=builder_release /bin/proxy /bin/proxy_release
-RUN mv /bin/proxy_${GO_PROXY_BUILD_FROM} /bin/proxy
-
-# Add sources and copy the package.json to root container,
-# so npm packages from user functions take precedence.
-#
-WORKDIR /app
-COPY bin/compile /bin/compile
-COPY lib/launcher.ts /lib/launcher.ts
-COPY package.json /
-
-# Customize runtime with additional packages.
-#
-RUN cd / && npm install -g \
-  yarn \
-  typescript@${TYPESCRIPT_VERSION} \
-  && npm install --no-package-lock --production @types/node@13.13.5 \
-  && npm install --no-package-lock --production \
-  && npm cache clean --force
-
-EXPOSE 8080
-
-ENTRYPOINT ["/bin/proxy"]
diff --git a/core/typescript37Action/Makefile b/core/typescript37Action/Makefile
deleted file mode 100644
index 373f831..0000000
--- a/core/typescript37Action/Makefile
+++ /dev/null
@@ -1,32 +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.
-#
-PREFIX=whisk
-IMG=action-typescript-v3.7
-
-start:
-	docker run -p 8080:8080 -ti -v $(PWD):/mnt $(IMG)
-
-debug:
-	docker run -p 8080:8080 -p 8081:8081 -ti --entrypoint=/bin/bash \
-	-v $(PWD):/mnt -e OW_COMPILER=/mnt/bin/compile $(IMG)
-
-build:
-	docker build . -t $(IMG)
-	docker tag $(IMG) whisk/$(IMG)
-	docker images | grep $(IMG)
-
-.PHONY: start debug build
diff --git a/core/typescript37Action/bin/compile b/core/typescript37Action/bin/compile
deleted file mode 100755
index 2635459..0000000
--- a/core/typescript37Action/bin/compile
+++ /dev/null
@@ -1,162 +0,0 @@
-#!/usr/bin/env node
-/*
- * 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.
- */
-
-const path = require("path")
-const fs = require("fs")
-const execFileSync = require('child_process').execFileSync;
-
-// write a file creating intermediate directories
-function write_file(file, body, executable) {
-  fs.mkdirSync(path.dirname(file), { recursive: true })
-  fs.writeFileSync(file, body)
-  if (executable) {
-    fs.chmodSync(file, 0755)
-  }
-}
-
-// copy a file eventually replacing a substring
-function copy_replace(src, dst, match, replacement) {
-  let body = fs.readFileSync(src, "utf-8")
-  if (match) {
-    body = body.replace(match, replacement)
-  }
-  write_file(dst, body)
-}
-
-function deext(filename) {
-  const pos = filename.lastIndexOf(".")
-  filename = pos > -1 ? filename.substring(0, pos) : filename
-  return filename
-}
-
-// resolve dependencies from package.json - return the main file
-function dependencies(src_dir) {
-  const pkg_config = src_dir + "/package.json"
-  const node_modules = src_dir + "/node_modules"
-  if (fs.existsSync(pkg_config)) {
-    if (!fs.existsSync(node_modules)) {
-      execFileSync("yarn", [], {
-        "cwd": src_dir
-      })
-    }
-    const config = JSON.parse(fs.readFileSync(pkg_config, "utf-8"))
-    if ("main" in config) {
-      return deext(config["main"])
-    }
-  }
-  return "index"
-}
-
-// assemble sources
-function sources(launcher, main_file, main_func, src_dir) {
-  // init config
-  const src_config = src_dir + "/tsconfig.json"
-  const config = {}
-  if (fs.existsSync(src_config)) {
-    config = JSON.parse(fs.readFileSync(src_config, "utf-8"))
-  }
-
-  if (!("files" in config)) {
-    config["files"] = []
-  }
-
-  if (!("compilerOptions" in config)) {
-    config["compilerOptions"] = {}
-  }
-
-  config["compilerOptions"]["inlineSourceMap"] = true
-
-  if ("sourceMap" in config["compilerOptions"]) {
-    delete config["compilerOptions"]["sourceMap"]
-  }
-
-  if (!("outDir" in config["compilerOptions"])) {
-    config["compilerOptions"]["outDir"] = "."
-  }
-
-  // copy main src file if any (and use it as main)
-  const src_file = src_dir + "/exec"
-  const tgt_file = src_dir + "/" + main_file + ".ts"
-  if (fs.existsSync(src_file) && !fs.existsSync(tgt_file)) {
-    const re = RegExp('(?<!export\\s+)function\\s+' + main_func)
-    copy_replace(src_file, tgt_file, re, "export function " + main_func)
-    config["files"].push(main_file + ".ts")
-  }
-
-  // copy launcher and replace main
-  copy_replace(launcher,
-    src_dir + "/exec__.ts",
-    'require("./main__").main',
-    'require("./' + main_file + '").' + main_func)
-
-  // complete tsconfig.json
-  config["files"].push("exec__.ts")
-  write_file(src_config, JSON.stringify(config))
-}
-
-function build(src_dir, bin_dir) {
-  try {
-    fs.rmdirSync(bin_dir)
-    fs.renameSync(src_dir, bin_dir)
-    execFileSync("tsc", [], {
-      cwd: bin_dir,
-      stdio: 'inherit',
-      stderr: 'inherit'
-    })
-    write_file(bin_dir + "/exec",
-      '#!/bin/bash\n' +
-      'if [ "$(cat $0.env)" != "$__OW_EXECUTION_ENV" ]\n' +
-      'then cd "$(dirname $0)"\n' +
-      '   echo "Execution Environment Mismatch"\n' +
-      '   echo "Expected: $(cat $0.env)"\n' +
-      '   echo "Actual: $__OW_EXECUTION_ENV"\n' +
-      '   exit 1\n' +
-      'fi\n' +
-      'cd "$(dirname $0)"\n' +
-      'if [ -z "$__OW_DEBUG_PORT" ]\n' +
-      'then node exec__.js\n' +
-      'else node --inspect=":$__OW_DEBUG_PORT" exec__.js\n' +
-      'fi\n', true)
-    write_file(bin_dir + "/exec.env", process.env["__OW_EXECUTION_ENV"])
-  } catch (err) {
-    console.log("syntax error:", err.message)
-  }
-}
-
-function compile() {
-  if (process.argv.length < 4) {
-    console.log("usage: <main-function> <source-dir> <target-dir>")
-    process.exit(1)
-  }
-  const launcher = path.dirname(path.dirname(process.argv[1])) + "/lib/launcher.ts"
-  const src_dir = path.resolve(process.argv[3])
-  const bin_dir = path.resolve(process.argv[4])
-  let main_func = process.argv[2]
-  let main_file = dependencies(src_dir)
-  const pieces = main_func.split(".")
-  if (pieces.length > 1) {
-    main_file = pieces.shift()
-    main_func = pieces.join(".")
-  }
-  sources(launcher, main_file, main_func, src_dir)
-  build(src_dir, bin_dir)
-}
-
-if (require.main === module) {
-  compile()
-}
diff --git a/core/typescript37Action/build.gradle b/core/typescript37Action/build.gradle
deleted file mode 100644
index 1a17b56..0000000
--- a/core/typescript37Action/build.gradle
+++ /dev/null
@@ -1,30 +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 = 'action-typescript-v3.7'
-apply from: '../../gradle/docker.gradle'
-
-distDocker.dependsOn 'copyPackageJson'
-
-task copyPackageJson(type: Copy) {
-    from '../nodejsActionBase/package.json'
-    into '.'
-}
-
-task cleanup(type: Delete) {
-    delete 'package.json'
-}
diff --git a/core/typescript37Action/lib/launcher.ts b/core/typescript37Action/lib/launcher.ts
deleted file mode 100644
index 95b428d..0000000
--- a/core/typescript37Action/lib/launcher.ts
+++ /dev/null
@@ -1,100 +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.
- */
-
-try {
-  const main = require("./main__").main
-  const readline = require('readline');
-  const fs = require("fs")
-  const os = require("os")
-
-  function vscodeDebug() {
-    let ifaces = os.networkInterfaces()
-    for (let iface of Object.keys(ifaces)) {
-      for (let ip of ifaces[iface]) {
-        if (!ip.internal) {
-          return {
-            "type": "node",
-            "request": "attach",
-            "name": process.env["__OW_ACTION_NAME"],
-            "address": ip.address,
-            "port": 8081,
-            "localRoot": "${workspaceFolder}",
-            "remoteRoot": __dirname
-          }
-        }
-      }
-    }
-    return { "error": "cannot find external interface" }
-  }
-
-  async function actionLoop() {
-    const out = fs.createWriteStream(null,
-      { fd: 3, encoding: "utf8" })
-    process.stdin.setEncoding('utf8');
-    const rl = readline.createInterface({
-      input: process.stdin
-    });
-    const debugging = "__OW_DEBUG_PORT" in process.env
-    out.write(JSON.stringify({ "ok": true }) + "\n");
-    for await (const line of rl) {
-      try {
-        let args = JSON.parse(line)
-        let value = args.value || {}
-        for (let key in args) {
-          if (key !== "value") {
-            let envar = "__OW_" + key.toUpperCase()
-            process.env[envar] = args[key]
-          }
-        }
-        let result = {}
-        if (debugging && "debugWith" in value) {
-          if (value["debugWith"] === "vscode")
-            result = vscodeDebug()
-          else
-            result = { "error": "requested unknown debugger" }
-        } else {
-          result = main(value)
-          if (typeof result === 'undefined') {
-            result = {}
-          }
-          if (Promise.resolve(result) == result)
-            try {
-              result = await result
-            } catch (error) {
-              if (typeof error === 'undefined') {
-                error = {}
-              }
-              result = { "error": error }
-            }
-        }
-        out.write(JSON.stringify(result) + "\n");
-      } catch (err) {
-        console.log(err);
-        let message = err.message || err.toString()
-        let error = { "error": message }
-        out.write(JSON.stringify(error) + "\n");
-      }
-    }
-  }
-  actionLoop()
-} catch (e) {
-  if (e.code == "MODULE_NOT_FOUND") {
-    console.log("zipped actions must contain either package.json or index.js at the root.")
-  }
-  console.log(e)
-  process.exit(1)
-}
diff --git a/settings.gradle b/settings.gradle
index 43e6aad..a15000e 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -20,10 +20,8 @@
 include 'core:nodejsActionBase'
 include 'core:nodejs16Action'
 include 'core:nodejs18Action'
-include 'core:typescript37Action'
 include 'tests:dat:docker:nodejs16docker'
 include 'tests:dat:docker:nodejs18docker'
-include 'tests:dat:docker:typescript37docker'
 
 rootProject.name = 'runtime-nodejs'
 
diff --git a/tests/dat/docker/typescript37docker/Dockerfile b/tests/dat/docker/typescript37docker/Dockerfile
deleted file mode 100644
index b6b31ec..0000000
--- a/tests/dat/docker/typescript37docker/Dockerfile
+++ /dev/null
@@ -1,20 +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-typescript-v3.7
-RUN cd /app && \
-    npm add --save openwhisk@2.0.0 && \
-    npm install --production
diff --git a/tests/dat/docker/typescript37docker/build.gradle b/tests/dat/docker/typescript37docker/build.gradle
deleted file mode 100644
index 0d894ee..0000000
--- a/tests/dat/docker/typescript37docker/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 = 'typescript37docker'
-apply from: '../../../../gradle/docker.gradle'
diff --git a/tests/src/test/scala/runtime/actionContainers/Typescript37BasicTests.scala b/tests/src/test/scala/runtime/actionContainers/Typescript37BasicTests.scala
deleted file mode 100644
index 4006cde..0000000
--- a/tests/src/test/scala/runtime/actionContainers/Typescript37BasicTests.scala
+++ /dev/null
@@ -1,93 +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 actionContainers.ActionContainer.withContainer
-import actionContainers.{ActionContainer, BasicActionRunnerTests}
-import common.WskActorSystem
-import org.junit.runner.RunWith
-import org.scalatest.junit.JUnitRunner
-
-@RunWith(classOf[JUnitRunner])
-class Typescript37BasicTests extends BasicActionRunnerTests with WskActorSystem {
-
-  val image = "action-typescript-v3.7"
-
-  override def withActionContainer(env: Map[String, String] = Map.empty)(code: ActionContainer => Unit) = {
-    withContainer(image, env)(code)
-  }
-
-  def withActionLoopContainer(code: ActionContainer => Unit) =
-    withContainer(image)(code)
-
-  behavior of image
-
-  override val testNoSourceOrExec = TestConfig("")
-
-  override val testNotReturningJson =
-    TestConfig("""
-                 |export function main(args) {
-                 |    return "not a json object"
-                 |}
-               """.stripMargin)
-
-  override val testEcho = TestConfig("""|export function main(args) {
-       |   console.log("hello stdout")
-       |   console.error("hello stderr")
-       |   return args
-       |}
-    """.stripMargin)
-
-  override val testUnicode = TestConfig("""|export function main(args) {
-       |  let delimiter = args['delimiter']
-       |  let msg = delimiter+" ☃ "+delimiter
-       |  console.log(msg)
-       |  return { "winter": msg }
-       |}
-    """.stripMargin)
-
-  override val testEnv = TestConfig("""|export function main(args) {
-       |  let env = process.env
-       |  return {
-       |    "api_host":      env["__OW_API_HOST"],
-       |    "api_key":       env["__OW_API_KEY"],
-       |    "namespace":     env["__OW_NAMESPACE"],
-       |    "activation_id": env["__OW_ACTIVATION_ID"],
-       |    "action_name":   env["__OW_ACTION_NAME"],
-       |    "deadline":      env["__OW_DEADLINE"],
-       |    "action_version": env["__OW_ACTION_VERSION"]
-       |  }
-       |}
-    """.stripMargin)
-
-  override val testInitCannotBeCalledMoreThanOnce = TestConfig(s"""|export function main(args) {
-        |  return args
-        |}
-    """.stripMargin)
-
-  override val testEntryPointOtherThanMain = TestConfig(
-    s"""|export function niam(args) {
-        |   return args
-        |}
-    """.stripMargin,
-    main = "niam")
-
-  override val testLargeInput = TestConfig(s"""|export function main(args) {
-        |  return args
-        |}
-    """.stripMargin)
-}
diff --git a/tests/src/test/scala/runtime/actionContainers/Typescript37CommonTests.scala b/tests/src/test/scala/runtime/actionContainers/Typescript37CommonTests.scala
deleted file mode 100644
index e39e246..0000000
--- a/tests/src/test/scala/runtime/actionContainers/Typescript37CommonTests.scala
+++ /dev/null
@@ -1,29 +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 Typescript37CommonTests extends NodeJsNonConcurrentTests {
-
-  override lazy val nodejsContainerImageName = "action-typescript-v3.7"
-  override lazy val nodejsTestDockerImageName = "typescript37docker"
-  override val isTypeScript = true
-}