openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michele Sciabarra" <mich...@sciabarra.com>
Subject Versioning and releasing the actionloop runtime
Date Fri, 10 May 2019 08:30:09 GMT
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
  michele@sciabarra.com

Mime
View raw message