Giter Club home page Giter Club logo

openwhisk-runtime-php's People

Contributors

akrabat avatar cbickel avatar chetanmeh avatar csantanapr avatar dgrove-oss avatar dubee avatar falkzoll avatar fxulusoy avatar iainduncani avatar ioana-blue avatar jasonpet avatar jeremiaswerner avatar joachimvaldez avatar luke-roy-ibm avatar markusthoemmes avatar mdeuser avatar mhenke1 avatar mrutkows avatar ningyougang avatar nwspeete-ibm avatar paulcastro avatar perryibm avatar psuter avatar rabbah avatar rsulzmann avatar sjfink avatar skywalkeretw avatar starpit avatar tysonnorris avatar vvraskin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openwhisk-runtime-php's Issues

No latest tag on the docker containers

As of 4 months ago there is no latest tag on the docker images hosted on https://hub.docker.com.

For example taking the php-v8.2 image. It only contains the short commit tag and the nightly tag, as specified here.

The php-v8.1 image contains a lot more tags, including release tags, but these tags are already 4 months old.

If this is a 'feature' then the readme is wrong and should be updated.

If this is a bug, how can I help?

Some source files miss Apache license headers

Following Apache license header guideline, all human-readable Apache-developed files that are included within a distribution must include the header text with few exceptions. You can find few exceptions here: which files do not require a license header.

I used Apache Rat to check this repository after excluding a few files, and I got this report. We need to add Apache licensing header to those files.

Unapproved licenses:

  openwhisk-runtime-php/core/php7.1Action/Dockerfile
  openwhisk-runtime-php/tests/src/test/resources/application.conf
  openwhisk-runtime-php/ansible/environments/local/group_vars/all
  openwhisk-runtime-php/ansible/environments/local/hosts

The excluded files are:

**/*.json
**/**.gradle
**/gradlew
**/gradle/**
**/.**
**/templates/**
**/*.j2.*
**/.github/**
**/auth.whisk.system
**/auth.guest
**/i18n_resources.go

no logs if action contains invalid syntax

create an action from a function with invalid syntax and no logs are produced.
running the container locally will show for example

PHP Parse error:  syntax error, unexpected ''...' (T_ENCAPSED_AND_WHITESPACE) in /phpAction/action/1/src/index.php on line 33

there are no sentinels and hence no logs.

reduce bloat in this repo (and other runtime repos)

There are some gradle and ansible commands in here that are not relevant - for example, deploying a full openwhisk stack.

Was this because more tests were intended, which run system integration tests using wsk action create && invoke?

As it stands, in this repo, only container unit tests are run which do not need to deploy openwhisk.

relax requirement that main entry file in a zip action is called index.php

I don't think it's a necessary requirement that the main function in a zip action is located in the file index.php. If we adopt the aws lambda convention of path/to/file.handler then it's possible to locate the "index" anywhere in the zip and this is an added convenience particularly working with existing php code.

add mode to disable re-init of an action

The Java proxy does not permit an action to be re-initialized [1]. This isn't true for the PHP runtime. All the runtimes should behave consistently. The basic action container tests suite will be extended to include a test for re-init, where the first init is expected to succeed but the second should fail. The action proxy will reject the request with status code 403 FORBIDDEN (although any non-20x is acceptable for rejection).

[1] https://github.com/apache/incubator-openwhisk-runtime-java/blob/3657b3889fd1ce03581184fcb07766a8c897a4d8/java8/proxy/src/main/java/openwhisk/java/action/Proxy.java#L72-L75

reduce clone and own in the test harness (applies to other repos also)

the test directory 4 files, only 1 of which is relevant to testing this runtime; the rest are cloned from openwhisk repo and provide the test harness; we need to remove this duplication since it's a maintenance headache in general.

perhaps using the maven dependences is a way of doing that?

PHP 7.2 stdout and stderr sentinels don't print in a new line

The user expects output to stdout and stderr to always show in logs.
Sentinels always print fine in 7.1, but not in 7.2
Take the following action example

<?php
function main(array $args) : array {
    echo 'hello stdout';
    file_put_contents("php://stderr",'hello stderr');
    return $args;
}

The test action purposely doesn't print a new line, but the sentinel should printed in a new line for the invoker to pick the output to logs correctly

  • Run with the php 7.1 user container image
$ docker run -p 8080:8080 whisk/action-php-v7.1:latest
PHP 7.1.18 Development Server started at Mon Nov 12 21:10:55 2018
hello stderr
XXX_THE_END_OF_A_WHISK_ACTIVATION_XXX
hello stdout
XXX_THE_END_OF_A_WHISK_ACTIVATION_XXX
  • Run with the php 7.2 user container image
$ docker run -p 8080:8080 whisk/action-php-v7.2:latest
PHP 7.2.6 Development Server started at Mon Nov 12 21:10:32 2018
hello stderrXXX_THE_END_OF_A_WHISK_ACTIVATION_XXX
hello stdoutXXX_THE_END_OF_A_WHISK_ACTIVATION_XXX

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.