This repository contains sources files needed to build the Deno runtimes for Apache OpenWhisk. The build system will produce a Docker image for each runtime version. These images are used in the platform to execute Deno actions.
Try it out using Docker image:
wsk action create hello main.ts --docker=openwhisk/action-deno-1.3.0
The content of the main.ts
is shown below.
export default (args: any) => {
return {
message: `Hello, ${args.name || 'World'}!`
}
}
For the return result, not only support dictionary
but also support array
So a very simple hello array
function would be:
export default (args: any) => {
return ["a", "b"]
}
And support array result for sequence action as well, the first action's array result can be used as next action's input parameter.
So the function can be:
func main(args: Any) -> Any {
return args
}
When invokes above action, we can pass an array object as the input parameter.
A Dockerfile for each runtime image is defined in its respective runtime version directory. Modify this file if you need to add extra dependencies to a runtime version.
- Run the
distDocker
command to generate local Docker images for the different runtime versions.
./gradlew distDocker
-
Build the local Docker images for the Deno runtime (see the instructions above).
-
Install project dependencies from the top-level Apache OpenWhisk project, which ensures correct versions of dependent libraries are available in the Maven cache.
./gradlew install
This command MUST BE run from the directory containing the main Apache OpenWhisk repository, not this repository's directory.
- Run the project tests.
./gradlew :tests:test