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

kezhenxu94 pushed a commit to branch gha-event
in repository https://gitbox.apache.org/repos/asf/skywalking-cli.git

commit 6ca7642da88f9a3b5d8ca12df8d9603b31848617
Author: kezhenxu94 <[email protected]>
AuthorDate: Mon Jun 14 14:13:00 2021 +0800

    Test GHA
---
 .github/workflows/test.yaml | 42 +++++++++++++++++++++++++
 Dockerfile                  | 35 +++++++++++++++++++++
 Makefile                    |  9 +++++-
 action.yaml                 | 75 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 160 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
new file mode 100644
index 0000000..145f737
--- /dev/null
+++ b/.github/workflows/test.yaml
@@ -0,0 +1,42 @@
+#
+# 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.
+#
+name: Test GHA
+
+on:
+  push:
+    branches:
+      - gha-event
+
+jobs:
+  test:
+    name: Test GHA
+    runs-on: ubuntu-latest
+    steps:
+      - name: Check out code into the Go module directory
+        uses: actions/checkout@v2
+        with:
+          submodules: true
+
+      - name: Check License
+        uses: apache/skywalking-cli@gha-event
+        with:
+          oap-url: localhost:11800
+          service: test-service
+          instance: test-service-instance
+
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..d868def
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,35 @@
+# 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.
+
+FROM golang:1.14 AS builder
+
+ENV CGO_ENABLED=0
+ENV GO111MODULE=on
+
+WORKDIR /cli
+
+COPY go.* ./
+
+RUN go mod download
+
+COPY . .
+
+RUN make linux && mv bin/swctl-*-linux-amd64 /swctl
+
+FROM alpine
+
+COPY --from=builder /swctl /swctl
+
+ENTRYPOINT [ "sh", "-c" ]
diff --git a/Makefile b/Makefile
index 448f123..c90a50f 100644
--- a/Makefile
+++ b/Makefile
@@ -15,10 +15,13 @@
 # limitations under the License.
 #
 
-VERSION ?= latest
+VERSION ?= dev-$(shell git rev-parse --short HEAD)
+APP_NAME = skywalking-cli
 OUT_DIR = bin
 BINARY = swctl
 
+HUB ?= docker.io/apache
+
 RELEASE_BIN = skywalking-cli-$(VERSION)-bin
 RELEASE_SRC = skywalking-cli-$(VERSION)-src
 
@@ -144,6 +147,10 @@ check-codegen:
                exit 1; \
        fi
 
+.PHONY: docker
+docker:
+       docker build . -t $(HUB)/$(APP_NAME):$(VERSION)
+
 .PHONY: test-commands
 test-commands:
        @if ! docker run --name oap -p 12800:12800 -p 11800:11800 -d -e 
SW_HEALTH_CHECKER=default -e SW_TELEMETRY=prometheus 
apache/skywalking-oap-server:8.4.0-es7 > /dev/null 2>&1;then \
diff --git a/action.yaml b/action.yaml
new file mode 100644
index 0000000..d741fb2
--- /dev/null
+++ b/action.yaml
@@ -0,0 +1,75 @@
+#
+# 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.
+
+name: SkyWalking Event Reporter
+description: Report GitHub workflow events to Apache SkyWalking
+author: Apache SkyWalking
+inputs:
+  oap-url:
+    description: URL of SkyWalking OAP
+    required: true
+  auth-token:
+    description: Authorization token of SkyWalking OAP
+    required: false
+  name:
+    description: The name of the event, for example, "Upgrade"
+    required: false
+    default: Upgrade
+  service:
+    description: The service name of the event
+    required: true
+  instance:
+    description: The service instance of the event
+    required: true
+  endpoint:
+    description: The service endpoint of the event, if any
+    required: false
+  message:
+    description: The message of the event
+    required: false
+    default: Upgrade from {fromVersion} to {toVersion}
+  parameters:
+    description: The parameters in the message
+    required: false
+
+runs:
+  using: docker
+  image: Dockerfile
+  env:
+    OAP_URL: ${{ inputs.oap-url }}
+    NAME: ${{ inputs.name }}
+    SERVICE: ${{ inputs.service }}
+    INSTANCE: ${{ inputs.instance }}
+    ENDPOINT: ${{ inputs.endpoint }}
+    MESSAGE: ${{ inputs.message }}
+    PARAMETERS: ${{ inputs.parameters }}
+
+  args:
+    - echo
+    - ::save-state name=START_TIME::$(date +%s)000
+  post-entrypoint: >-
+    /swctl
+    --grpcAddr="$OAP_URL"
+    event report
+    --uuid=$(uuidgen)
+    --name="$NAME"
+    --service="$SERVICE"
+    --instance="$INSTANCE"
+    --endpoint="$ENDPOINT"
+    --message="$MESSAGE"
+    --startTime="$STATE_START_TIME"
+    --endTime=$(date +%s)000
+    "$PARAMETERS"

Reply via email to