You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2021/07/13 04:04:41 UTC
[skywalking-kubernetes] 01/01: Create e2e.ci.8.7+.yaml
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch wu-sheng-patch-1
in repository https://gitbox.apache.org/repos/asf/skywalking-kubernetes.git
commit 439e7fb72a49a2253b3b427f55e80d7956fea497
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue Jul 13 12:04:36 2021 +0800
Create e2e.ci.8.7+.yaml
---
.github/workflows/e2e.ci.8.7+.yaml | 132 +++++++++++++++++++++++++++++++++++++
1 file changed, 132 insertions(+)
diff --git a/.github/workflows/e2e.ci.8.7+.yaml b/.github/workflows/e2e.ci.8.7+.yaml
new file mode 100644
index 0000000..3a2c6f8
--- /dev/null
+++ b/.github/workflows/e2e.ci.8.7+.yaml
@@ -0,0 +1,132 @@
+# 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 8.7.0+ SkyWalking
+
+on:
+ pull_request:
+ push:
+ path:
+ - '!**.md'
+ branches:
+ - master
+
+env:
+ SKIP_TEST: true
+ ISTIO_VERSION: 1.7.1
+ TAG: ${{ github.sha }}
+ SCRIPTS_DIR: main/test/e2e-mesh/e2e-istio/scripts
+ SW_OAP_BASE_IMAGE: openjdk:8-jre-alpine
+
+jobs:
+ als:
+ runs-on: ubuntu-16.04
+ timeout-minutes: 60
+ name: Istio+Envoy Access Log Service
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/checkout@v2
+ with:
+ repository: apache/skywalking
+ submodules: true
+ path: main
+ ref: 6228d450e1b0792dd9875ad68984c89c81ece742
+
+ - uses: actions/cache@v2
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-maven-
+
+ - name: Build Docker Image
+ run: cd main && make docker && cd ..
+
+ - name: Prepare envrionment
+ run: bash ${SCRIPTS_DIR}/pre.sh
+
+ - name: Install Minikube
+ run: bash ${SCRIPTS_DIR}/minikube.sh start
+
+ - name: Install Istio
+ run: bash ${SCRIPTS_DIR}/istio.sh --set profile=demo --set meshConfig.defaultConfig.envoyAccessLogService.address=skywalking-oap.istio-system:11800 --set meshConfig.enableEnvoyAccessLogService=true
+
+ - name: Install SkyWalking
+ run: |
+ cd chart
+ helm dep up skywalking
+ helm -n istio-system install skywalking skywalking \
+ --set fullnameOverride=skywalking \
+ --set elasticsearch.replicas=1 \
+ --set elasticsearch.minimumMasterNodes=1 \
+ --set oap.env.SW_ENVOY_METRIC_ALS_HTTP_ANALYSIS=k8s-mesh \
+ --set oap.envoy.als.enabled=true \
+ --set oap.replicas=1 \
+ --set ui.image.repository=skywalking/ui \
+ --set ui.image.tag=$TAG \
+ --set oap.image.repository=skywalking/oap \
+ --set oap.image.tag=$TAG \
+ --set oap.storageType=elasticsearch
+ kubectl -n istio-system get pods
+
+ sleep 3
+ kubectl -n istio-system wait --for=condition=available deployments/skywalking-oap --timeout=1200s
+ kubectl get pods -A -o wide --show-labels
+ kubectl get services -A -o wide
+
+ - name: Deploy demo services
+ run: bash ${SCRIPTS_DIR}/demo.sh
+
+ - name: Cluster Info
+ if: ${{ failure() }}
+ run: |
+ df -h
+ minikube logs
+ minikube status
+
+ - name: Set up Minikube tunnel
+ run: |
+ mkdir /tmp/minikube-tunnel
+ minikube tunnel > /tmp/minikube-tunnel/a.log &
+ export POD_NAME=$(kubectl get pods -n istio-system -l "app=skywalking,release=skywalking,component=ui" -o jsonpath="{.items[0].metadata.name}")
+ echo $POD_NAME
+ kubectl -n istio-system port-forward $POD_NAME 8080:8080 > /tmp/minikube-tunnel/b.log &
+
+ - name: Run E2E test
+ run: |
+ export GATEWAY_HOST=$(minikube ip)
+ export GATEWAY_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
+ export WEBAPP_HOST=127.0.0.1
+ export WEBAPP_PORT=8080
+
+ cd main && ./mvnw --batch-mode -f test/e2e/pom.xml -am -DfailIfNoTests=false verify -Dit.test=org.apache.skywalking.e2e.mesh.ALSE2E
+
+ - name: Logs
+ if: ${{ failure() }}
+ run: |
+ kubectl -n istio-system logs --tail=10000 -l "app=skywalking,release=skywalking,component=ui"
+ kubectl -n istio-system logs --tail=10000 -l "app=skywalking,release=skywalking,component=oap"
+ cat /tmp/minikube-tunnel/*
+
+ - name: Clean up
+ if: ${{ always() }}
+ run: minikube delete
+
+ build:
+ runs-on: ubuntu-16.04
+ needs: [als]
+ steps:
+ - name: dummy
+ run: echo