This is an automated email from the ASF dual-hosted git repository. rabbah pushed a commit to branch dev in repository https://gitbox.apache.org/repos/asf/openwhisk-runtime-swift.git
commit 6c4f55da49f963215a6e98967ece3b845b81b2bd Author: Rodric Rabbah <[email protected]> AuthorDate: Tue Jul 13 16:44:14 2021 -0400 Support remote builds. - Switch to source builds. - Install nim in swift runtime for remote builds. - Add defaultBuild script for swift. - Update travis script. --- .travis.yml | 26 +++++-------------------- README.md | 2 +- core/swift42Action/Dockerfile | 10 +++++++--- core/swift42Action/defaultBuild | 43 +++++++++++++++++++++++++++++++++++++++++ core/swift54Action/Dockerfile | 13 +++++++++---- core/swift54Action/defaultBuild | 43 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 108 insertions(+), 29 deletions(-) diff --git a/.travis.yml b/.travis.yml index d3eb103..2e4370a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,13 +22,6 @@ language: java services: - docker -notifications: - email: false - webhooks: - urls: - # travis2slack webhook to enable DMs on openwhisk-team.slack.com to PR authors with TravisCI results - secure: "hOGkOouus0A5Wf5i+kmJJ5J6kOOQmdkpQUZffp9AnoN1I0qLJ0g7fggtQg4PTgIfHxrFShpZw/nGpyx1qkV9BUCw9Q+A8YgtLbimD0Hw9o7aPBrln7vtUDw9C+Sd39OXb40B172ME8NN4Apcnf1sVwjNUomQ58yvIrnaA2aBQ2mgqmt5KWpyne1I7R0Cr1R1V7nUcC6qsf7qxCQNjDlEKGZaWJp44bcCP8oWwoX93LUxAHgZirA167vmfmiGrp+gSPTQz45JBS5OMcRXl0tuMp6piJOxX+QfigAGTfP1V1kmTCb0k70UCgcTsUxEBYm85A3Cy8cLWOMi08643dZG9wT0Q9uJgAbb5Gr3B5Fs4IoIdrh4ZSbziqVhmyiJ+99D0n0oTALv1o8QgbYU93FrUcMlCQYDqV9s2wF15GmXSTGIoyxhsUrdMnOdKLTf/repyev7DZgVRePJipB6ZwwLh7Tsd1yNk [...] - before_install: - "./tools/travis/setup.sh" install: true @@ -36,22 +29,13 @@ script: - "./tools/travis/build.sh && ./tools/travis/deploy.sh && ./tools/travis/test.sh" deploy: - provider: script - script: "./tools/travis/publish.sh openwhisk ${TRAVIS_TAG%@*} ${TRAVIS_TAG##*@}" + script: "./tools/travis/publish.sh nimbella 5.4 ${TRAVIS_TAG}" on: tags: true all_branches: true - repo: apache/openwhisk-runtime-swift - - provider: script - script: "./tools/travis/publish.sh openwhisk 4.2 nightly" - on: - branch: master - repo: apache/openwhisk-runtime-swift + repo: nimbella-corp/openwhisk-runtime-swift - provider: script - script: "./tools/travis/publish.sh openwhisk 5.1 nightly && ./tools/travis/publish.sh openwhisk 5.3 nightly && ./tools/travis/publish.sh openwhisk 5.4 nightly" + script: "./tools/travis/publish.sh nimbella 5.4 nightly" on: - branch: master - repo: apache/openwhisk-runtime-swift -env: - global: - - secure: YqQG7kchpqrqYNCBHmoXs5QJFJQmtuy30WYQnQtudVuqZ1/PqsTJXy6+kNxQ88z5NoU4XZKClB61V8ZVHqGsbQd3lAsTy11QKxf+s4kfsGBuoRlow4eQmnUnnaF3E6KVV2nJ4oXro7RQhP3WwLjpsThrMk322B1ZtlSRALR9hK5wCit8Q1ifSJqmKLwuoNSNQzd7onlDF19Q9pyKkgVu9wLKU5epo76wuFkRfkbr1mB3fF2le2WRNXer2N8rL8McHousFPYA03IIdo6zdX27yGmqSW3teCiVYieGrqtaGhH0WCE7dcmoQ/gs7IBqn1K80wJSR1lbkKDiWzmb73FWScKuXmRn5c4HCq/wPya2I5JNUGyPg5YI0HyMDxGTJ/OdXv2Aizyh3hyNMFjtbjK4N6gz6kFAn8Uo6wFs441Bq+S3+ipLAQ41KIQ7E4/Di6ERSG8KKWKy+LlnA5Qy60CQHRIyJCg3+aqf [...] - - secure: HbPHrmRk1LOjFE47jUTUKMrmbVF9GXRmAj+V1vaoshrRJAEh8rj58uQwrU7YS6EybyHOHL/26G2PcQt8HrQcqsQdvfwT5QWYxGjxz24nvU6B9PpNlaG6vOW61ls519zsYSSlgb5e1Wr2bjSxpbwDzLzovi2t4L/ZliRcevZYRGJS7846uWSZ3u6De6bwjR5onE2KQ6A5xG4WzyL1gQ/SISFknb1o7l3YpXJe3KZVZztn9y8eCujgSysNSM6hu60TXd8v2lNp3rtof5Xxb6GZ/5W7aZYQUM5o+/q+vdC/gWXgs7UJwOc1Yxi7Q+kiyQLuR69J9XKwvP+/PakySFrUjysZUqMh8um5Mn1y9gQHVwEOXjshwmIWLfoPQ331QIHgzdlrMw9HAckjO5q1C9EU9XddMTSOiFYRGowKuG3Xzf/migIpxhi+GWPxP0dwQt3ERJJ2yY27yvIz7RBDS1zWQ9erek+w0gi9 [...] + branch: dev + repo: nimbella-corp/openwhisk-runtime-swift diff --git a/README.md b/README.md index c1d76c6..61c65dd 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ # Apache OpenWhisk runtimes for swift [](http://www.apache.org/licenses/LICENSE-2.0) -[](https://travis-ci.com/apache/openwhisk-runtime-swift) +[](https://travis-ci.com/nimbella-corp/openwhisk-runtime-swift) ## Changelogs diff --git a/core/swift42Action/Dockerfile b/core/swift42Action/Dockerfile index b434b2c..48904f8 100644 --- a/core/swift42Action/Dockerfile +++ b/core/swift42Action/Dockerfile @@ -17,8 +17,8 @@ # build go proxy from source FROM golang:1.15 AS builder_source -ARG GO_PROXY_GITHUB_USER=apache -ARG GO_PROXY_GITHUB_BRANCH=master +ARG GO_PROXY_GITHUB_USER=nimbella-corp +ARG GO_PROXY_GITHUB_BRANCH=dev RUN git clone --branch ${GO_PROXY_GITHUB_BRANCH} \ https://github.com/${GO_PROXY_GITHUB_USER}/openwhisk-runtime-go /src ;\ cd /src ; env GO111MODULE=on CGO_ENABLED=0 go build main/proxy.go && \ @@ -36,13 +36,16 @@ RUN curl -sL \ FROM swift:4.2 # select the builder to use -ARG GO_PROXY_BUILD_FROM=release +ARG GO_PROXY_BUILD_FROM=source RUN rm -rf /var/lib/apt/lists/* && apt-get clean && apt-get update \ && apt-get install -y --no-install-recommends locales python3 vim \ && rm -rf /var/lib/apt/lists/* \ && locale-gen en_US.UTF-8 +# Add nim +RUN curl https://apigcp.nimbella.io/downloads/nim/nim-install-linux.sh | bash + ENV LANG="en_US.UTF-8" \ LANGUAGE="en_US:en" \ LC_ALL="en_US.UTF-8" @@ -56,6 +59,7 @@ COPY --from=builder_release /bin/proxy /bin/proxy_release RUN mv /bin/proxy_${GO_PROXY_BUILD_FROM} /bin/proxy ADD swiftbuild.py /bin/compile ADD swiftbuild.py.launcher.swift /bin/compile.launcher.swift +ADD defaultBuild /bin/defaultBuild COPY _Whisk.swift /swiftAction/Sources/ COPY Package.swift /swiftAction/ COPY buildandrecord.py /swiftAction/ diff --git a/core/swift42Action/defaultBuild b/core/swift42Action/defaultBuild new file mode 100755 index 0000000..3611164 --- /dev/null +++ b/core/swift42Action/defaultBuild @@ -0,0 +1,43 @@ +#!/bin/bash +# +# Nimbella CONFIDENTIAL +# --------------------- +# +# 2018 - present Nimbella Corp +# All Rights Reserved. +# +# NOTICE: +# +# All information contained herein is, and remains the property of +# Nimbella Corp and its suppliers, if any. The intellectual and technical +# concepts contained herein are proprietary to Nimbella Corp and its +# suppliers and may be covered by U.S. and Foreign Patents, patents +# in process, and are protected by trade secret or copyright law. +# +# Dissemination of this information or reproduction of this material +# is strictly forbidden unless prior written permission is obtained +# from Nimbella Corp. +# + +# This build invokes the default ActionLoop build for swift when run remotely. +# Note that it works when (1) there is a Package.swift and Sources (the multi-file case) +# or (2) when there is a single .swift file. It exits with an error otherwise. +# It is my impression that this limitation is inherent in /bin/compile for swift. +if [ -d "Sources" ] && [ -f "Package.swift" ]; then + CURRENT="$PWD" + pushd /swiftAction + $OW_COMPILER main $CURRENT $CURRENT + popd + else + COUNT=$(ls *.swift | wc -w) + if [ "$COUNT" != "1" ]; then + echo "Conditions for use of the default action are not met" + exit 1 + fi + cp *.swift /swiftAction/exec + pushd /swiftAction + $OW_COMPILER main . . + popd + cp /swiftAction/exec . +fi +echo exec > .include diff --git a/core/swift54Action/Dockerfile b/core/swift54Action/Dockerfile index d6156d6..5878cf2 100644 --- a/core/swift54Action/Dockerfile +++ b/core/swift54Action/Dockerfile @@ -17,8 +17,8 @@ # build go proxy from source FROM golang:1.15 AS builder_source -ARG GO_PROXY_GITHUB_USER=apache -ARG GO_PROXY_GITHUB_BRANCH=master +ARG GO_PROXY_GITHUB_USER=nimbella-corp +ARG GO_PROXY_GITHUB_BRANCH=dev RUN git clone --branch ${GO_PROXY_GITHUB_BRANCH} \ https://github.com/${GO_PROXY_GITHUB_USER}/openwhisk-runtime-go /src ;\ cd /src ; env GO111MODULE=on CGO_ENABLED=0 go build main/proxy.go && \ @@ -36,12 +36,16 @@ RUN curl -sL \ FROM swift:5.4 # select the builder to use -ARG GO_PROXY_BUILD_FROM=release +ARG GO_PROXY_BUILD_FROM=source RUN rm -rf /var/lib/apt/lists/* && apt-get clean && apt-get -qq update \ && apt-get install -y --no-install-recommends locales python3 vim libssl-dev libicu-dev \ && rm -rf /var/lib/apt/lists/* \ - && locale-gen en_US.UTF-8 + && locale-gen en_US.UTF-8 \ + && ln -s /usr/bin/python3 /usr/bin/python + +# Add nim +RUN curl https://apigcp.nimbella.io/downloads/nim/nim-install-linux.sh | bash ENV LANG="en_US.UTF-8" \ LANGUAGE="en_US:en" \ @@ -55,6 +59,7 @@ COPY --from=builder_release /bin/proxy /bin/proxy_release RUN mv /bin/proxy_${GO_PROXY_BUILD_FROM} /bin/proxy ADD swiftbuild.py /bin/compile ADD swiftbuild.py.launcher.swift /bin/compile.launcher.swift +ADD defaultBuild /bin/defaultBuild COPY _Whisk.swift /swiftAction/Sources/ COPY Package.swift /swiftAction/ COPY swiftbuildandlink.sh /swiftAction/ diff --git a/core/swift54Action/defaultBuild b/core/swift54Action/defaultBuild new file mode 100755 index 0000000..3611164 --- /dev/null +++ b/core/swift54Action/defaultBuild @@ -0,0 +1,43 @@ +#!/bin/bash +# +# Nimbella CONFIDENTIAL +# --------------------- +# +# 2018 - present Nimbella Corp +# All Rights Reserved. +# +# NOTICE: +# +# All information contained herein is, and remains the property of +# Nimbella Corp and its suppliers, if any. The intellectual and technical +# concepts contained herein are proprietary to Nimbella Corp and its +# suppliers and may be covered by U.S. and Foreign Patents, patents +# in process, and are protected by trade secret or copyright law. +# +# Dissemination of this information or reproduction of this material +# is strictly forbidden unless prior written permission is obtained +# from Nimbella Corp. +# + +# This build invokes the default ActionLoop build for swift when run remotely. +# Note that it works when (1) there is a Package.swift and Sources (the multi-file case) +# or (2) when there is a single .swift file. It exits with an error otherwise. +# It is my impression that this limitation is inherent in /bin/compile for swift. +if [ -d "Sources" ] && [ -f "Package.swift" ]; then + CURRENT="$PWD" + pushd /swiftAction + $OW_COMPILER main $CURRENT $CURRENT + popd + else + COUNT=$(ls *.swift | wc -w) + if [ "$COUNT" != "1" ]; then + echo "Conditions for use of the default action are not met" + exit 1 + fi + cp *.swift /swiftAction/exec + pushd /swiftAction + $OW_COMPILER main . . + popd + cp /swiftAction/exec . +fi +echo exec > .include
