openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michele Sciabarra" <>
Subject Re: Versioning and releasing the actionloop runtime
Date Fri, 10 May 2019 18:22:41 GMT
I am sorry of the situation but I would note I discussed this thing in maling list and I was
recommended to use this name (check the archive).

In any case, I just did a PR for the new Java runtime and in this case I am using to  build
simply the command "go get" in the Dockerfile

It downloads the sources from GitHub and builds on the fly. I can do a PR to all the existing
runtimes using actionloop to avoid using the actionloop-v2 and build from the sources.

When there will be an official release, all the docker images can be build downloading and
compiling a released version.

PS the new actionloop java runtime passes all the existing tests, so it is compatible with
the existing one, it is 10 times faster, and also accepts sources and compiles on the fly
and also zips containing sources, resources, and jars and build a proper classpath for it.
Looking forward for someone to review and merge it.

  Michele Sciabarra

----- Original message -----
From: Matt Rutkowski <>
Subject: Re: Versioning and releasing the actionloop runtime
Date: Friday, May 10, 2019 7:24 PM

Since the ActionLoop is central to most of our runtime impls. and it is 
featured as the means to author new ones (an SDK effectively), IMO it 
should become part of the Apache release (and was a bit unsettled seeing 
we were pushing Docker images named "actionloop-v2 to DockerHub implying 
an official Apache version each time Go runtime was built by Travis 
daily).  The initial version should be brought in-line with our 
corresponding runtime versioning and at the very least we need to 
ackowledge its presence in the top-level README within the Go runtime 
repo.  In any event, the Travis YAML should be adjust to not push anything 
with a "-v2" version as this has no official standing.

Kind regards,

From:   "Michele Sciabarra" <>
Date:   05/10/2019 03:30 AM
Subject:        Versioning and releasing the actionloop runtime

Hello all,

at this stage, the actionloop is used by Go 1.12, PHP 7.3, Python 3.7, 
Ruby 7.6, Rust and I have completed the work for Java 8 (PR will be sent 
in the next few days). There is also a step by step tutorial merged in the 
main repo. So it is becoming a bit "important".

The problem I see that we need to keep in sync the runtime with the docker 
images that uses it. 

First and before all, as far as I know the runtime is backward compatible. 
 Docker images currently uses it pulling the openwhisk/actionloop image 
and then copying the runtime in the docker images that needs it.

Unfortunately I discovered that the gradle plugin I used (gogradle) built 
the image linked dynamically so it was not usable with alpine based images 
for example. The the openwhisk/actionloop is dinamically linked with LIBC 
and does not work on alpine based images. 

So I created a new version, where I also added some features to better 
support scripting languages, that is linked statically.

Currently, the PHP 7.3 and Python 3.7 runtimes uses openwhisk/actionloop 
and while the Rust, Ruby and the upcoming Java uses the -v2

I admit I do not like at all this situation, so I would like to improve 
it. My proposal

1. move the runtime in a separate repo (incubator-openwhisk-actionloop ? 
incubator-openwhisk-runtime-proxy ? pick your name) or even in the main 

2. tag the runtime and release it with a name and a version number

3. change all the dockerfile that uses the runtime to build the runtime 
from sources themselves. It is not hard: just use a goimage as a builder, 
download and untar the release from apache archives and compile it. 

I can volunteer to do all the work if approved.

  Michele Sciabarra

View raw message