You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by dg...@apache.org on 2023/01/26 01:16:08 UTC

[openwhisk] branch master updated: add GHA status badges; remove .travis.yml (#5371)

This is an automated email from the ASF dual-hosted git repository.

dgrove pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwhisk.git


The following commit(s) were added to refs/heads/master by this push:
     new 096dba495 add GHA status badges; remove .travis.yml (#5371)
096dba495 is described below

commit 096dba495dff5eddd95d98159739e155df628040
Author: David Grove <dg...@users.noreply.github.com>
AuthorDate: Wed Jan 25 20:15:59 2023 -0500

    add GHA status badges; remove .travis.yml (#5371)
    
    * add GHA status badges; remove .travis.yml
    * scancode fixes
---
 .travis.yml                                        | 106 ---------------------
 README.md                                          |  10 +-
 ansible/README.md                                  |  10 +-
 ansible/roles/schedulers/tasks/clean.yml           |  16 ++++
 ansible/roles/schedulers/tasks/deploy.yml          |  18 +++-
 .../roles/schedulers/tasks/join_akka_cluster.yml   |  18 +++-
 ansible/roles/schedulers/tasks/main.yml            |  16 ++++
 ansible/scheduler.yml                              |  18 +++-
 .../apache/openwhisk/core/etcd/EtcdWorker.scala    |  17 ++++
 proposals/POEM-3-action-limit-for-namespace.md     |   4 +-
 proposals/POEM-support-array-result.md             |   2 +-
 .../Unicode.cs                                     |   2 +-
 .../openwhisk/common/etcd/EtcdConfigTests.scala    |  17 ++++
 .../openwhisk/common/etcd/EtcdWorkerTests.scala    |  17 ++++
 .../core/connector/test/MessageTests.scala         |  17 ++++
 .../core/invoker/test/InvokerBootUpTests.scala     |  17 ++++
 tools/macos/README.md                              |   6 +-
 17 files changed, 185 insertions(+), 126 deletions(-)

diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index a50894d0a..000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,106 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-os: linux
-dist: focal
-language: java
-jdk: openjdk11
-
-services:
-  - docker
-
-env:
-  global:
-    - ANSIBLE_CMD="ansible-playbook -i environments/local -e docker_image_prefix=testing"
-    - GRADLE_PROJS_SKIP=""
-
-notifications:
-  email: false
-  slack:
-    rooms:
-      - secure: "Rrj5ya7JV7bfgW3GXZpuRsX2e9/qsTpLLVZAzgq2Z3xW/IVAqeAM8DDR0tjPbR7Nou0RpPtE/ynkps4Qd6CGTBiCULpcGi2cXJ+p35WvaweWlFIKU0Vam9iEWXQ+bG1LwB61LrSmD7DJvOxkZiwtagqUfYLhVeD1WfgcWc/lj0F0julCScujqqJbj/jUnlkSm6VJz9m11NQkvZZ+YFgNYCPAQRmSh59K0ELximJ54C4/af05YHq6QLWUh/2Eoa68p3XzQyONtteMRvbAJgmMGIijQsKa+ZELrZPjz/5EplMA+FEUjoW6tn3NQjQgZOdDHq3fEbnuit0OOBMRu5QhYT0MjV6QJANYmJU2QqVoDubgTtQSeHJNYoM1fI15yfuSCJg+H6FnI0ncXRB3zz7EZ3zksKKeWZ20NQVKBNCYRNIBC8Im3ff8TbZdulH/Qk/NEeOJwpgm8yfUqUqLu3dt13KT0Jd [...]
-      - secure: "WgdL9/Z/9+rl6edh+mqDiO0mx8JpxYwIrudYwuZUZ7d/9oUzS8Miid7au7Y1PP0CVPVDEvastw6+NnIVA/BIHTBNj488dTeNXumaaNQlaTTvaI9OLN1w3+GVVFuF64gmJ6I2T6x+qxqlYOwQhyZ8jZEJUXQ3VwE6DPz+KNqpBy+6GgWEvi+2lgGhc2Ko3SPAtcDWAdE6t8ELaO2uLh/JU60ndAi4yT297fOfwWi4I1aee5a+LajbJN6Mz89o5o0Y2GHV83a3D/ablt1CH3kRSErqLV3HDbt5eRR4yFhTPpbZG8yeWcZkP0oKyt3QqSen1paiEeqr7R9OspDf2OLSlWx7TGm/BnNW/3YRI3+gUPHqaJPCLldNRWnbYYd0RFGjVOfVOoYhAWAMdkWT48jX3YGE1LaZ0SwlxpMy5Fpj8Q22SVXY51o5Pw1UomUhGz2Hjfj8b0WbkWQ+q5qpgR8/z4Zfz5i [...]
-    on_pull_requests: false
-    on_success: change
-    on_failure: always
-  webhooks:
-    urls:
-      # travis2slack webhook to enable DMs on openwhisk-team.slack.com to PR authors with TravisCI results
-      secure: "qSkFNkMDYhp025vW+hBWO4wlMEeaz2S2c3tsZgIhcqji58AAxL2KKuNIWAuzftIxC5l5RwPt/OBXWFjgnAwCjj3hfczMfpuexGPruzmRe2GYbBwS0OhwDkWVosl9UqFELbZEdQ/tTJyW7p3Gd4FSjCJBCAdRL5yYcn3RiCj/UrJ6454IkKqeuTihWp2ZklqnZpMv9WzC4DK+cI/rJUP5megh/gilORfBD5/wnMMksC5NSlpc2WAtdeKusVZiZ6ieR6uLoR3rwzgUBC3PbyX8GO1OIh+LnvO7c0Hrhc2u685nxrCMseJIH9kZQboGA7RbiH64U5Zy7dK6fiFGfQJc3YyfsbKBKyd0QlvZp1vKw4iAvtsyentodjR1lN29fuTUW3hPMCo/YJSxZmHHMRSsoqs4zMp7lHo0aDfBOJRB+jjluA96Tn8SZjIATu76SwzJ0EolyVGw25HqKxSX0eM0ZLgrVrh89 [...]
-
-# specific cache configuration for gradle based builds
-# see: https://docs.travis-ci.com/user/languages/java/#caching
-before_cache:
-  - rm -f  $HOME/.gradle/caches/modules-2/modules-2.lock
-  - rm -fr $HOME/.gradle/caches/*/plugin-resolution/
-
-cache:
-  directories:
-    - $HOME/.gradle/caches/
-    - $HOME/.gradle/wrapper/
-
-before_install:
-  - sudo systemctl stop epmd.socket epmd.service
-  - ./tools/travis/docker.sh
-  - sudo apt-get install -y python3-pip
-  - pip install --user --upgrade pip setuptools six
-  - pip3 install --user --upgrade pip setuptools six
-
-install:
-  - ./tools/travis/setup.sh
-
-jobs:
-  include:
-    - script:
-        - TERM=dumb OW_SCALA_VERSION=2.13 ./gradlew :tests:compileTestScala
-      name: "Scala 2.13 compilation"
-    # - script:
-    #     - ./tools/travis/runUnitTests.sh
-    #     - ./tools/travis/checkAndUploadLogs.sh unit db
-    #   name: "Unit Tests"
-    # - script:
-    #   - ./tools/travis/runSystemTests.sh
-    #   - ./tools/travis/checkAndUploadLogs.sh system
-    #   name: "System Tests"
-    # - script:
-    #   - ./tools/travis/runMultiRuntimeTests.sh
-    #   - ./tools/travis/checkAndUploadLogs.sh multi-runtime
-    #   name: "Multi-Runtime Tests"
-    # - script:
-    #     - ./tools/travis/runStandaloneTests.sh
-    #     - ./tools/travis/checkAndUploadLogs.sh standalone
-    #   name: "Standalone Tests"
-    # - script:
-    #     - ./tests/performance/preparation/deploy.sh
-    #     - TERM=dumb ./tests/performance/wrk_tests/latency.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/noop.js 2m
-    #     - TERM=dumb ./tests/performance/wrk_tests/latency.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/async.js 2m
-    #     - TERM=dumb ./tests/performance/wrk_tests/throughput.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/noop.js 4 1 2 2m
-    #     - TERM=dumb ./tests/performance/wrk_tests/throughput.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/async.js 4 1 2 2m
-    #     - TERM=dumb ./tests/performance/wrk_tests/throughput.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/noop.js 100 110 2 2m
-    #     - TERM=dumb ./tests/performance/wrk_tests/throughput.sh "https://172.17.0.1:10001" "$(cat ansible/files/auth.guest)" ./tests/performance/preparation/actions/async.js 100 110 2 2m
-    #     - OPENWHISK_HOST="172.17.0.1" CONNECTIONS="100" REQUESTS_PER_SEC="1" ./gradlew gatlingRun-org.apache.openwhisk.ApiV1Simulation
-    #     - OPENWHISK_HOST="172.17.0.1" MEAN_RESPONSE_TIME="1000" API_KEY="$(cat ansible/files/auth.guest)" EXCLUDED_KINDS="python:default,java:default,swift:default" PAUSE_BETWEEN_INVOKES="100" ./gradlew gatlingRun-org.apache.openwhisk.LatencySimulation
-    #     - OPENWHISK_HOST="172.17.0.1" API_KEY="$(cat ansible/files/auth.guest)" CONNECTIONS="100" REQUESTS_PER_SEC="1" ./gradlew gatlingRun-org.apache.openwhisk.BlockingInvokeOneActionSimulation
-    #     - OPENWHISK_HOST="172.17.0.1" API_KEY="$(cat ansible/files/auth.guest)" CONNECTIONS="100" REQUESTS_PER_SEC="1" ASYNC="true" ./gradlew gatlingRun-org.apache.openwhisk.BlockingInvokeOneActionSimulation
-    #     # The following configuration does not make much sense. But we do not have enough users. But it's good to verify, that the test is still working.
-    #     - OPENWHISK_HOST="172.17.0.1" USERS="1" REQUESTS_PER_SEC="1" ./gradlew gatlingRun-org.apache.openwhisk.ColdBlockingInvokeSimulation
-    #     - ./tools/travis/checkAndUploadLogs.sh perf
-    #   name: "Performance Tests"
-    # - script:
-    #     - ./tools/travis/runSchedulerTests.sh
-    #     - ./tools/travis/checkAndUploadLogs.sh scheduler
-    #   name: "Scheduler Tests"
diff --git a/README.md b/README.md
index 7198d26a6..e31ebb2ee 100644
--- a/README.md
+++ b/README.md
@@ -19,12 +19,18 @@
 
 # OpenWhisk
 
-[![Build Status](https://travis-ci.com/apache/openwhisk.svg?branch=master)](https://travis-ci.com/github/apache/openwhisk)
 [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
 [![Join Slack](https://img.shields.io/badge/join-slack-9B69A0.svg)](https://openwhisk-team.slack.com/)
-[![codecov](https://codecov.io/gh/apache/openwhisk/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/openwhisk)
 [![Twitter](https://img.shields.io/twitter/follow/openwhisk.svg?style=social&logo=twitter)](https://twitter.com/intent/follow?screen_name=openwhisk)
 
+[![Unit Tests](https://github.com/apache/openwhisk/actions/workflows/1-unit.yaml/badge.svg)](https://github.com/apache/openwhisk/actions/workflows/1-unit.yaml)
+[![System Tests](https://github.com/apache/openwhisk/actions/workflows/2-system.yaml/badge.svg)](https://github.com/apache/openwhisk/actions/workflows/2-system.yaml)
+[![MultiRuntime Tests](https://github.com/apache/openwhisk/actions/workflows/3-multi-runtime.yaml/badge.svg)](https://github.com/apache/openwhisk/actions/workflows/3-multi-runtime.yaml)
+[![Standalone Tests](https://github.com/apache/openwhisk/actions/workflows/4-standalone.yaml/badge.svg)](https://github.com/apache/openwhisk/actions/workflows/4-standalone.yaml)
+[![Scheduler Tests](https://github.com/apache/openwhisk/actions/workflows/5-scheduler.yaml/badge.svg)](https://github.com/apache/openwhisk/actions/workflows/5-scheduler.yaml)
+[![Performance Tests](https://github.com/apache/openwhisk/actions/workflows/6-performance.yaml/badge.svg)](https://github.com/apache/openwhisk/actions/workflows/6-performance.yaml)
+[![codecov](https://codecov.io/gh/apache/openwhisk/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/openwhisk)
+
 OpenWhisk is a serverless functions platform for building cloud applications.
 OpenWhisk offers a rich programming model for creating serverless APIs from functions,
 composing functions into serverless workflows, and connecting events to functions using rules and triggers.
diff --git a/ansible/README.md b/ansible/README.md
index dc2425130..471a22d08 100644
--- a/ansible/README.md
+++ b/ansible/README.md
@@ -46,7 +46,7 @@ If you prefer [Docker-machine](https://docs.docker.com/machine/) to [Docker for
 The remote Docker API is required for collecting logs using the Ansible playbook [logs.yml](logs.yml).
 
 ##### Activate docker0 network (local dev only)
- 
+
 The OpenWhisk deployment via Ansible uses the `docker0` network interface to deploy OpenWhisk and it does not exist on Docker for Mac environment.
 
 An expedient workaround is to add alias for `docker0` network to loopback interface.
@@ -72,9 +72,9 @@ In all instructions, replace `<openwhisk_home>` with the base directory of your
 
 #### Ansible with pyenv (local dev only)
 
-When using [pyenv](https://github.com/pyenv/pyenv) to manage your versions of python, the [ansible python interpreter](https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html) will use your system's default python, which may have a different version. 
+When using [pyenv](https://github.com/pyenv/pyenv) to manage your versions of python, the [ansible python interpreter](https://docs.ansible.com/ansible/latest/reference_appendices/python_3_support.html) will use your system's default python, which may have a different version.
 
-To make sure ansible uses the same version of python which you configured, execute: 
+To make sure ansible uses the same version of python which you configured, execute:
 
 ```bash
 echo -e "\nansible_python_interpreter: `which python`\n" >> ./environments/local/group_vars/all
@@ -87,7 +87,7 @@ up again. To avoid this problem, export the `OPENWHISK_TMP_DIR` variable assigni
 directory before deploying OpenWhisk.
 
 #### Setup
- 
+
 This step should be executed once per development environment.
 It will generate the `hosts` configuration file based on your environment settings.
 
@@ -154,7 +154,7 @@ You can enable the new scheduler of OpenWhisk.
 It will run one more component called "scheduler" and ETCD.
 
 #### Configure service providers for the scheduler
-You can update service providers for the scheduler as follows. 
+You can update service providers for the scheduler as follows.
 
 **common/scala/src/main/resources/reference.conf**
 
diff --git a/ansible/roles/schedulers/tasks/clean.yml b/ansible/roles/schedulers/tasks/clean.yml
index 20bb99633..379d11ffa 100644
--- a/ansible/roles/schedulers/tasks/clean.yml
+++ b/ansible/roles/schedulers/tasks/clean.yml
@@ -1,3 +1,19 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 ---
 # Remove scheduler containers.
 
diff --git a/ansible/roles/schedulers/tasks/deploy.yml b/ansible/roles/schedulers/tasks/deploy.yml
index 6b45e3594..46b5aaca8 100644
--- a/ansible/roles/schedulers/tasks/deploy.yml
+++ b/ansible/roles/schedulers/tasks/deploy.yml
@@ -1,5 +1,19 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more contributor
-# license agreements; and to You under the Apache License, Version 2.0.
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 ---
 # This role will install Scheduler in group 'schedulers' in the environment
 # inventory
diff --git a/ansible/roles/schedulers/tasks/join_akka_cluster.yml b/ansible/roles/schedulers/tasks/join_akka_cluster.yml
index 375a54952..662a87077 100644
--- a/ansible/roles/schedulers/tasks/join_akka_cluster.yml
+++ b/ansible/roles/schedulers/tasks/join_akka_cluster.yml
@@ -1,5 +1,19 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more contributor
-# license agreements; and to You under the Apache License, Version 2.0.
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 ---
 #
 #  Scheduler 'plugin' that will add the items necessary to the scheduler
diff --git a/ansible/roles/schedulers/tasks/main.yml b/ansible/roles/schedulers/tasks/main.yml
index 26f7f356a..af77b0cae 100644
--- a/ansible/roles/schedulers/tasks/main.yml
+++ b/ansible/roles/schedulers/tasks/main.yml
@@ -1,3 +1,19 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 ---
 # This role will install scheduler in group 'schedulers' in the environment inventory
 # In deploy mode it will deploy schedulers.
diff --git a/ansible/scheduler.yml b/ansible/scheduler.yml
index cb88c4f66..2c6a7a23e 100644
--- a/ansible/scheduler.yml
+++ b/ansible/scheduler.yml
@@ -1,5 +1,19 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more contributor
-# license agreements; and to You under the Apache License, Version 2.0.
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 ---
 # This playbook deploys Openwhisk Controllers.
 
diff --git a/common/scala/src/main/scala/org/apache/openwhisk/core/etcd/EtcdWorker.scala b/common/scala/src/main/scala/org/apache/openwhisk/core/etcd/EtcdWorker.scala
index 82d78e693..ac1b36d1b 100644
--- a/common/scala/src/main/scala/org/apache/openwhisk/core/etcd/EtcdWorker.scala
+++ b/common/scala/src/main/scala/org/apache/openwhisk/core/etcd/EtcdWorker.scala
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.openwhisk.core.etcd
 
 import akka.actor.{Actor, ActorRef, ActorSystem, Props, Timers}
diff --git a/proposals/POEM-3-action-limit-for-namespace.md b/proposals/POEM-3-action-limit-for-namespace.md
index b4435774a..2e4a75e29 100644
--- a/proposals/POEM-3-action-limit-for-namespace.md
+++ b/proposals/POEM-3-action-limit-for-namespace.md
@@ -177,7 +177,7 @@ As the namespace default limit is the same as the system limit, so the administr
 
 ### Namespace limit validation
 
-Previously, system limits were validated when deserializing the `ActionLimits` object from the user request. 
+Previously, system limits were validated when deserializing the `ActionLimits` object from the user request.
 
 However, at the time of deserialization of the user requests, the namespace's action limit cannot be known and the limit value cannot be included in an error message, so the validation must be performed after deserialization.
 Therefore, the code to perform this validation has been added to the controller, scheduler, and invoker.
@@ -211,7 +211,7 @@ If the namespace limits or system limits are exceeded, the namespace limit value
 
 #### 2. Validate action limits when the action is executed in the invoker
 
-When the action is executed, the invoker must checks whether the action limit exceeds the system limit and namespace limits. 
+When the action is executed, the invoker must checks whether the action limit exceeds the system limit and namespace limits.
 If the limit of the action to be executed exceeds the limit, an application error with `Messages.actionLimitExceeded` message is returned and invocation is aborted.
 
 ```scala
diff --git a/proposals/POEM-support-array-result.md b/proposals/POEM-support-array-result.md
index 652be2dbe..2fce8f439 100644
--- a/proposals/POEM-support-array-result.md
+++ b/proposals/POEM-support-array-result.md
@@ -61,7 +61,7 @@ All runtime images should support an array result. e.g.
 * ruby
 * dotnet
 * rust
-* swift 
+* swift
 * deno
 * ballerina
 
diff --git a/tests/dat/actions/unicode.tests/src/dotnet2.2/Apache.OpenWhisk.UnicodeTests.Dotnet/Unicode.cs b/tests/dat/actions/unicode.tests/src/dotnet2.2/Apache.OpenWhisk.UnicodeTests.Dotnet/Unicode.cs
index 6963b869d..fadd0909d 100644
--- a/tests/dat/actions/unicode.tests/src/dotnet2.2/Apache.OpenWhisk.UnicodeTests.Dotnet/Unicode.cs
+++ b/tests/dat/actions/unicode.tests/src/dotnet2.2/Apache.OpenWhisk.UnicodeTests.Dotnet/Unicode.cs
@@ -32,4 +32,4 @@ namespace Apache.OpenWhisk.UnicodeTests.Dotnet
             return (message);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tests/src/test/scala/org/apache/openwhisk/common/etcd/EtcdConfigTests.scala b/tests/src/test/scala/org/apache/openwhisk/common/etcd/EtcdConfigTests.scala
index c53608ccf..0d5621429 100644
--- a/tests/src/test/scala/org/apache/openwhisk/common/etcd/EtcdConfigTests.scala
+++ b/tests/src/test/scala/org/apache/openwhisk/common/etcd/EtcdConfigTests.scala
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.openwhisk.common.etcd
 
 import common.WskActorSystem
diff --git a/tests/src/test/scala/org/apache/openwhisk/common/etcd/EtcdWorkerTests.scala b/tests/src/test/scala/org/apache/openwhisk/common/etcd/EtcdWorkerTests.scala
index a4203fc28..c5fcb8073 100644
--- a/tests/src/test/scala/org/apache/openwhisk/common/etcd/EtcdWorkerTests.scala
+++ b/tests/src/test/scala/org/apache/openwhisk/common/etcd/EtcdWorkerTests.scala
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.openwhisk.common.etcd
 
 import akka.actor.{ActorRef, ActorSystem}
diff --git a/tests/src/test/scala/org/apache/openwhisk/core/connector/test/MessageTests.scala b/tests/src/test/scala/org/apache/openwhisk/core/connector/test/MessageTests.scala
index 97d4d1984..2806c0cfb 100644
--- a/tests/src/test/scala/org/apache/openwhisk/core/connector/test/MessageTests.scala
+++ b/tests/src/test/scala/org/apache/openwhisk/core/connector/test/MessageTests.scala
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.openwhisk.core.connector.test
 
 import akka.actor.ActorSystem
diff --git a/tests/src/test/scala/org/apache/openwhisk/core/invoker/test/InvokerBootUpTests.scala b/tests/src/test/scala/org/apache/openwhisk/core/invoker/test/InvokerBootUpTests.scala
index 86a76d90e..c8e4b4edf 100644
--- a/tests/src/test/scala/org/apache/openwhisk/core/invoker/test/InvokerBootUpTests.scala
+++ b/tests/src/test/scala/org/apache/openwhisk/core/invoker/test/InvokerBootUpTests.scala
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.openwhisk.core.invoker.test
 
 import java.nio.charset.StandardCharsets
diff --git a/tools/macos/README.md b/tools/macos/README.md
index 8ff60fb26..964bb949f 100644
--- a/tools/macos/README.md
+++ b/tools/macos/README.md
@@ -75,7 +75,7 @@ Follow instructions in [ansible/README.md](../../ansible/README.md)
 #### Using brew
 
 ```bash
-brew install wsk 
+brew install wsk
 wsk property set --apihost https://localhost
 wsk property set --auth `cat ansible/files/auth.guest`
 ```
@@ -109,9 +109,9 @@ ansible-playbook wipe.yml
 ansible-playbook properties.yml
 ```
 
-To run the unit tests execute the command bellow from the project's root folder: 
+To run the unit tests execute the command bellow from the project's root folder:
 ```bash
 # go back to project's root folder
 cd ../
-./gradlew -PtestSetName="REQUIRE_ONLY_DB" :tests:testCoverageLean 
+./gradlew -PtestSetName="REQUIRE_ONLY_DB" :tests:testCoverageLean
 ```