Merge pull request #1586 from hanbingleixue/Integration-test #1881
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Dubbo Integration Test | |
env: | |
sermantVersion: 1.0.0 | |
on: | |
push: | |
pull_request: | |
branches: | |
- '*' | |
paths: | |
- 'sermant-agentcore/**' | |
- 'sermant-integration-tests/dubbo-test/**' | |
- 'sermant-plugins/sermant-dynamic-config/**' | |
- 'sermant-plugins/sermant-flowcontrol/**' | |
- 'sermant-plugins/sermant-loadbalancer/**' | |
- 'sermant-plugins/sermant-router/**' | |
- 'sermant-plugins/sermant-service-registry/**' | |
- 'sermant-plugins/sermant-springboot-registry/**' | |
- 'sermant-plugins/sermant-monitor/**' | |
- 'sermant-plugins/sermant-service-visibility/**' | |
- '.github/workflows/dubbo_integration_test.yml' | |
- '.github/actions/common/dubbo/action.yml' | |
- '.github/actions/scenarios/dubbo/**' | |
- '.github/actions/common/plugin-change-check/action.yml' | |
- '.github/actions/common/entry/action.yml' | |
- '.github/actions/common/exit/action.yml' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ github.head_ref }} | |
cancel-in-progress: true | |
jobs: | |
set-execution-conditions: | |
name: set-execution-conditions | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 100 | |
- name: plugin-change-check | |
id: plugin-change-check | |
uses: ./.github/actions/common/plugin-change-check | |
- name: set-outputs | |
id: set-outputs | |
run: | | |
echo "enableDubboRouter=${{env.enableDubboRouter}}" >> $GITHUB_OUTPUT | |
echo "enableDubboMonitor=${{env.enableDubboMonitor}}" >> $GITHUB_OUTPUT | |
echo "enableDubboVisibility=${{env.enableDubboVisibility}}" >> $GITHUB_OUTPUT | |
echo "enableDubboCommon=${{env.enableDubboCommon}}" >> $GITHUB_OUTPUT | |
echo "enableDubboLane=${{env.enableDubboLane}}" >> $GITHUB_OUTPUT | |
echo "enableDubboRemoval=${{env.enableDubboRemoval}}" >> $GITHUB_OUTPUT | |
echo "enableDubbo3Router=${{env.enableDubbo3Router}}" >> $GITHUB_OUTPUT | |
echo "enableDubbo3Lane=${{env.enableDubbo3Lane}}" >> $GITHUB_OUTPUT | |
outputs: | |
enableDubboRouter: ${{ steps.set-outputs.outputs.enableDubboRouter }} | |
enableDubboMonitor: ${{ steps.set-outputs.outputs.enableDubboMonitor }} | |
enableDubboVisibility: ${{ steps.set-outputs.outputs.enableDubboVisibility }} | |
enableDubboCommon: ${{ steps.set-outputs.outputs.enableDubboCommon }} | |
enableDubboLane: ${{ steps.set-outputs.outputs.enableDubboLane }} | |
enableDubboRemoval: ${{ steps.set-outputs.outputs.enableDubboRemoval }} | |
enableDubbo3Router: ${{ steps.set-outputs.outputs.enableDubbo3Router }} | |
enableDubbo3Lane: ${{ steps.set-outputs.outputs.enableDubbo3Lane }} | |
download-midwares-and-cache: | |
name: download and cache middlewares | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: cache middlewares | |
uses: actions/cache@v3 | |
with: | |
path: | | |
apache-zookeeper-*/ | |
Local-CSE-2.1.3-linux-amd64.zip | |
key: ${{ runner.os }}-middlewares-${{ github.run_id }} | |
- name: download middlewares | |
run: | | |
export ROOT_PATH=$(pwd) | |
bash ./sermant-integration-tests/scripts/tryDownloadMidware.sh zk | |
tar -zxf apache-zookeeper-3.6.3-bin.tar.gz | |
bash ./sermant-integration-tests/scripts/tryDownloadMidware.sh | |
build-agent-and-cache: | |
name: package and cache agent | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '8' | |
distribution: 'adopt' | |
cache: maven | |
- name: cache agent | |
uses: actions/cache@v3 | |
with: | |
path: sermant-agent-*/ | |
key: ${{ runner.os }}-agent-${{ github.run_id }} | |
- name: package agent | |
run: | | |
sed -i '/sermant-integration-tests/d' pom.xml | |
sed -i '/sermant-injector/d' pom.xml | |
mvn package -DskipTests -Ptest --file pom.xml | |
test-for-dubbo: | |
name: Test for dubbo | |
runs-on: ubuntu-latest | |
if: needs.set-execution-conditions.outputs.enableDubboRouter == 'true' | |
|| needs.set-execution-conditions.outputs.enableDubboMonitor == 'true' | |
|| needs.set-execution-conditions.outputs.enableDubboVisibility == 'true' | |
|| needs.set-execution-conditions.outputs.enableDubboCommon == 'true' | |
|| needs.set-execution-conditions.outputs.enableDubboLane == 'true' | |
|| needs.set-execution-conditions.outputs.enableDubboRemoval == 'true' | |
needs: [set-execution-conditions, download-midwares-and-cache, build-agent-and-cache] | |
strategy: | |
matrix: | |
dubbo-version: ['2-5','2-6','2-7'] | |
dubbo-versions: ['0','3','6','9','12'] | |
include: | |
- dubbo-version: '2-5' | |
dubbo-versions: '10' | |
- dubbo-version: '2-7' | |
dubbo-versions: '15' | |
exclude: | |
- dubbo-version: '2-5' | |
dubbo-versions: '9' | |
- dubbo-version: '2-5' | |
dubbo-versions: '12' | |
- dubbo-version: '2-7' | |
dubbo-versions: '3' | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 100 | |
- name: set java version to environment | |
run: | | |
echo "javaVersion=8" >> $GITHUB_ENV | |
- name: common operations | |
uses: ./.github/actions/common/dubbo | |
- name: (dubbo router) test for ${{ matrix.dubbo-version }}-${{ matrix.dubbo-versions }} | |
if: needs.set-execution-conditions.outputs.enableDubboRouter == 'true' | |
uses: ./.github/actions/scenarios/dubbo/router | |
- name: monitor test for ${{ matrix.dubbo-version }}-${{ matrix.dubbo-versions }} | |
if: needs.set-execution-conditions.outputs.enableDubboMonitor == 'true' | |
uses: ./.github/actions/scenarios/dubbo/monitor | |
- name: visibility test for ${{ matrix.dubbo-version }}-${{ matrix.dubbo-versions }} | |
if: needs.set-execution-conditions.outputs.enableDubboVisibility == 'true' | |
uses: ./.github/actions/scenarios/dubbo/visibility | |
- name: (dubbo common) test for ${{ matrix.dubbo-version }}-${{ matrix.dubbo-versions }} | |
if: needs.set-execution-conditions.outputs.enableDubboCommon == 'true' | |
uses: ./.github/actions/scenarios/dubbo/dubbo-common | |
- name: (dubbo lane) test for ${{ matrix.dubbo-version }}-${{ matrix.dubbo-versions }} | |
if: needs.set-execution-conditions.outputs.enableDubboLane == 'true' | |
uses: ./.github/actions/scenarios/dubbo/lane | |
- name: removal test for ${{ matrix.dubbo-version }}-${{ matrix.dubbo-versions }} | |
if: needs.set-execution-conditions.outputs.enableDubboRemoval == 'true' | |
uses: ./.github/actions/scenarios/dubbo/removal | |
test-for-dubbo3: | |
name: Test for dubbo3.x | |
if: needs.set-execution-conditions.outputs.enableDubbo3Router == 'true' || needs.set-execution-conditions.outputs.enableDubbo3Lane == 'true' | |
runs-on: ubuntu-latest | |
needs: [set-execution-conditions, download-midwares-and-cache, build-agent-and-cache ] | |
strategy: | |
matrix: | |
registry-model: [ 'all','interface','instance' ] | |
dubbo-version: [ '3-0','3-1','3-2' ] | |
dubbo-versions: [ '0','3','6','9','12' ] | |
include: | |
- dubbo-version: '3-0' | |
dubbo-versions: '15' | |
registry-model: 'all' | |
- dubbo-version: '3-0' | |
dubbo-versions: '15' | |
registry-model: 'interface' | |
- dubbo-version: '3-0' | |
dubbo-versions: '15' | |
registry-model: 'instance' | |
- dubbo-version: '3-1' | |
dubbo-versions: '11' | |
registry-model: 'all' | |
- dubbo-version: '3-1' | |
dubbo-versions: '11' | |
registry-model: 'interface' | |
- dubbo-version: '3-1' | |
dubbo-versions: '11' | |
registry-model: 'instance' | |
- dubbo-version: '3-2' | |
dubbo-versions: '11' | |
registry-model: 'all' | |
- dubbo-version: '3-2' | |
dubbo-versions: '11' | |
registry-model: 'interface' | |
- dubbo-version: '3-2' | |
dubbo-versions: '11' | |
registry-model: 'instance' | |
exclude: | |
- dubbo-version: '3-0' | |
dubbo-versions: '0' | |
registry-model: 'all' | |
- dubbo-version: '3-0' | |
dubbo-versions: '0' | |
registry-model: 'interface' | |
- dubbo-version: '3-0' | |
dubbo-versions: '0' | |
registry-model: 'instance' | |
- dubbo-version: '3-0' | |
dubbo-versions: '3' | |
registry-model: 'all' | |
- dubbo-version: '3-0' | |
dubbo-versions: '3' | |
registry-model: 'interface' | |
- dubbo-version: '3-0' | |
dubbo-versions: '3' | |
registry-model: 'instance' | |
- dubbo-version: '3-1' | |
dubbo-versions: '12' | |
registry-model: 'all' | |
- dubbo-version: '3-1' | |
dubbo-versions: '12' | |
registry-model: 'interface' | |
- dubbo-version: '3-1' | |
dubbo-versions: '12' | |
registry-model: 'instance' | |
- dubbo-version: '3-2' | |
dubbo-versions: '12' | |
registry-model: 'all' | |
- dubbo-version: '3-2' | |
dubbo-versions: '12' | |
registry-model: 'interface' | |
- dubbo-version: '3-2' | |
dubbo-versions: '12' | |
registry-model: 'instance' | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 100 | |
- name: set java version to environment | |
run: | | |
echo "javaVersion=8" >> $GITHUB_ENV | |
- name: common operations | |
uses: ./.github/actions/common/dubbo | |
- name: (dubbo3.x router) test for ${{ matrix.dubbo-version }}-${{ matrix.dubbo-versions }} | |
if: needs.set-execution-conditions.outputs.enableDubbo3Router == 'true' | |
uses: ./.github/actions/scenarios/dubbo/router-dubbo3 | |
- name: (dubbo3.x lane) test for ${{ matrix.dubbo-version }}-${{ matrix.dubbo-versions }} | |
if: needs.set-execution-conditions.outputs.enableDubbo3Lane == 'true' | |
uses: ./.github/actions/scenarios/dubbo/lane-dubbo3 |