Skip to content

Fix args cannot take effect when dynamic install sermant agent with external agent and instance selectable condition in Backend #2302

Fix args cannot take effect when dynamic install sermant agent with external agent and instance selectable condition in Backend

Fix args cannot take effect when dynamic install sermant agent with external agent and instance selectable condition in Backend #2302

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@v4
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@v4
- name: cache middlewares
uses: actions/cache@v4
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@v4
- name: Set up JDK 8
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'adopt'
cache: maven
- name: cache agent
uses: actions/cache@v4
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@v4
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@v4
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