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,
Matt 




From:   "Michele Sciabarra" <mich...@sciabarra.com>
To:     dev@openwhisk.apache.org
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 
repo 

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
  mich...@sciabarra.com





Reply via email to