Skip to content

Commit

Permalink
Enhance Envoy protocols E2E (#80)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrproliu authored Oct 31, 2021
1 parent baddab2 commit 365d153
Show file tree
Hide file tree
Showing 30 changed files with 1,125 additions and 455 deletions.
86 changes: 86 additions & 0 deletions .github/workflows/e2e-istio.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# 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: E2E

on:
pull_request:
paths:
- '**'
- '!**.md'
schedule:
- cron: '0 18 * * *'

concurrency:
group: e2e-istio-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
als:
if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: true
matrix:
analyzer: [k8s-mesh, mx-mesh]
istio_version: [1.7.1, 1.8.2, 1.9.1]
name: Istio(${{ matrix.istio_version }})+ALS(${{ matrix.analyzer }})
env:
ISTIO_VERSION: ${{ matrix.istio_version }}
ALS_ANALYZER: ${{ matrix.analyzer }}
steps:
- name: Set up Go 1.16
uses: actions/setup-go@v2
with:
go-version: 1.16
id: go
- uses: actions/checkout@v2
with:
submodules: true
- name: Build Docker Image
shell: bash
run: make docker
- uses: apache/skywalking-infra-e2e@ebdfc93c9a1def23df14edd408e98654a1fe60cb
with:
e2e-file: test/e2e/case/istio/als/e2e.yaml

metrics-service:
if: (github.event_name == 'schedule' && github.repository == 'apache/skywalking') || (github.event_name != 'schedule')
runs-on: ubuntu-latest
timeout-minutes: 60
name: Istio(${{ matrix.istio_version }})+MetricsService
strategy:
fail-fast: true
matrix:
istio_version: [1.8.2, 1.9.1]
env:
ISTIO_VERSION: ${{ matrix.istio_version }}
steps:
- name: Set up Go 1.16
uses: actions/setup-go@v2
with:
go-version: 1.16
id: go
- uses: actions/checkout@v2
with:
submodules: true
- name: Build Docker Image
shell: bash
run: make docker
- uses: apache/skywalking-infra-e2e@ebdfc93c9a1def23df14edd408e98654a1fe60cb
with:
e2e-file: test/e2e/case/istio/metrics/e2e.yaml
24 changes: 2 additions & 22 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,26 +34,6 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- uses: apache/skywalking-infra-e2e@d37840fb22f7c78f03ab5932bbdccf925cb5ef73
- uses: apache/skywalking-infra-e2e@ebdfc93c9a1def23df14edd408e98654a1fe60cb
with:
e2e-file: test/e2e/case/native-protocols/e2e.yaml
EnvoyE2E:
name: Envoy ALS/Metrics
runs-on: ubuntu-latest
strategy:
matrix:
envoy_version: [ 'v1.19.0', 'v1.16.2' ]
env:
ENVOY_VERSION: ${{ matrix.envoy_version }}
steps:
- name: Set up Go 1.16
uses: actions/setup-go@v2
with:
go-version: 1.16
id: go
- uses: actions/checkout@v2
with:
submodules: true
- uses: apache/skywalking-infra-e2e@d37840fb22f7c78f03ab5932bbdccf925cb5ef73
with:
e2e-file: test/e2e/case/envoy/e2e.yaml
e2e-file: test/e2e/case/native-protocols/e2e.yaml
4 changes: 3 additions & 1 deletion test/e2e/base/env
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,7 @@

SW_AGENT_JAVA_COMMIT=3997f0256056788bd054ee37e4603c11c0fd6756
SW_OAP_COMMIT=b5578b68fd0d5d8e4543ad7d8fc9c3066ace456c
SW_UI_COMMIT=b5578b68fd0d5d8e4543ad7d8fc9c3066ace456c
SW_KUBERNETES_COMMIT_SHA=0f3ec68e5a7e1608cec8688716b848ed15e971e5

SW_CTL_COMMIT=b90255132f916f53eb90955cc8a6445b03a4bec3
SW_CTL_COMMIT=45a5f9807126dc6ea9fe06e17e7aafbe212436d2
30 changes: 30 additions & 0 deletions test/e2e/base/scripts/prepare/setup-e2e-shell/install-helm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/usr/bin/env bash

# ----------------------------------------------------------------------------
# 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.
# ----------------------------------------------------------------------------

BASE_DIR=$1
BIN_DIR=$2
HELMVERSION=${HELMVERSION:-'helm-v3.0.0'}

if ! command -v helm &> /dev/null; then
mkdir -p $BASE_DIR/helm && cd $BASE_DIR/helm
curl -sSL https://get.helm.sh/${HELMVERSION}-linux-amd64.tar.gz
tar xz -C $BIN_DIR --strip-components=1 linux-amd64/helm
fi
29 changes: 29 additions & 0 deletions test/e2e/base/scripts/prepare/setup-e2e-shell/install-istioctl.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env bash

# ----------------------------------------------------------------------------
# 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.
# ----------------------------------------------------------------------------

BASE_DIR=$1
BIN_DIR=$2

if ! command -v istioctl &> /dev/null; then
mkdir -p $BASE_DIR/istioctl && cd $BASE_DIR/istioctl
curl -L https://istio.io/downloadIstio | sh -
cp istio-$ISTIO_VERSION/bin/istioctl $BIN_DIR
fi
29 changes: 29 additions & 0 deletions test/e2e/base/scripts/prepare/setup-e2e-shell/install-kubectl.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env bash

# ----------------------------------------------------------------------------
# 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.
# ----------------------------------------------------------------------------

BASE_DIR=$1
BIN_DIR=$2
K8SVERSION=${K8SVERSION:-'k8s-v1.19.2'}

if ! command -v kubectl &> /dev/null; then
curl -sSL "https://storage.googleapis.com/kubernetes-release/release/${K8SVERSION#k8s-}/bin/linux/amd64/kubectl" -o $BIN_DIR/kubectl
chmod +x $BIN_DIR/kubectl
fi
89 changes: 0 additions & 89 deletions test/e2e/case/envoy/docker-compose.yml

This file was deleted.

59 changes: 0 additions & 59 deletions test/e2e/case/envoy/e2e.yaml

This file was deleted.

Loading

0 comments on commit 365d153

Please sign in to comment.