diff --git a/.github/actions/common/backend/action.yml b/.github/actions/common/backend/action.yml index 345552df81..3989658a12 100644 --- a/.github/actions/common/backend/action.yml +++ b/.github/actions/common/backend/action.yml @@ -46,3 +46,12 @@ runs: uses: actions/setup-python@v5 with: python-version: '3.10' + - name: install requests + shell: bash + run: | + pip install requests + - name: download agent + uses: actions/cache@v4 + with: + path: sermant-agent-*/ + key: ${{ runner.os }}-agent-${{ github.run_id }} diff --git a/.github/actions/common/plugin-change-check/action.yml b/.github/actions/common/plugin-change-check/action.yml deleted file mode 100644 index cf88e6842f..0000000000 --- a/.github/actions/common/plugin-change-check/action.yml +++ /dev/null @@ -1,949 +0,0 @@ -name: "Plugin change check" -description: "check file change for all plugins" -runs: - using: "composite" - steps: - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-agentcore - with: - paths: sermant-agentcore - - name: env sermant-agentcore - shell: bash - run: | - echo "sermantAgentCoreChanged=${{ steps.changed-sermant-agentcore.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-agentcore-dynamic-config - with: - paths: sermant-agentcore/sermant-agentcore-implement/src/main/java/io/sermant/implement/service/dynamicconfig - sermant-agentcore/sermant-agentcore-core - sermant-integration-tests/agentcore-test/agentcore-test-application - sermant-integration-tests/agentcore-test/agentcore-integration-test - ./.github/workflows/agentcore_service_test.yml - ./.github/actions/common/agentcore - ./.github/actions/scenarios/agentcore/dynamic-config - - name: env sermant-agentcore-dynamic-config - shell: bash - run: | - echo "sermantAgentCoreDynamicConfigServiceChanged=${{ steps.changed-sermant-agentcore-dynamic-config.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-agentcore-xds - with: - paths: sermant-agentcore/sermant-agentcore-implement/src/main/java/io/sermant/implement/service/xds - sermant-agentcore/sermant-agentcore-core - sermant-integration-tests/xds-service-test - sermant-plugins/sermant-router/router-common/** - sermant-plugins/sermant-router/spring-router-plugin/** - ./.github/workflows/agentcore_service_test.yml - ./.github/actions/common/xds-service - ./.github/actions/scenarios/xds-service - - name: env sermant-agentcore-xds - shell: bash - run: | - echo "sermantAgentCoreXdsServiceChanged=${{ steps.changed-sermant-agentcore-xds.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-router - with: - paths: sermant-plugins/sermant-router - - name: env sermant-router - shell: bash - run: | - echo "sermantRouterChanged=${{ steps.changed-sermant-router.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-flowcontrol - with: - paths: sermant-plugins/sermant-flowcontrol - - name: env sermant-flowcontrol - shell: bash - run: | - echo "sermantFlowcontrolChanged=${{ steps.changed-sermant-flowcontrol.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-dynamic-config - with: - paths: sermant-plugins/sermant-dynamic-config - - name: env sermant-sermant-dynamic-config - shell: bash - run: | - echo "sermantDynamicConfigChanged=${{ steps.changed-sermant-dynamic-config.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-loadbalancer - with: - paths: sermant-plugins/sermant-loadbalancer - - name: env sermant-sermant-loadbalancer - shell: bash - run: | - echo "sermantLoadbalancerChanged=${{ steps.changed-sermant-loadbalancer.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-monitor - with: - paths: sermant-plugins/sermant-monitor ./.github/actions/scenarios/dubbo/monitor - - name: env sermant-sermant-monitor - shell: bash - run: | - echo "sermantMonitorChanged=${{ steps.changed-sermant-monitor.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-service-visibility - with: - paths: sermant-plugins/sermant-service-visibility ./.github/actions/scenarios/dubbo/visibility - - name: env sermant-service-visibility - shell: bash - run: | - echo "sermantServiceVisibilityChanged=${{ steps.changed-sermant-service-visibility.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-service-registry - with: - paths: sermant-plugins/sermant-service-registry - - name: env sermant-sermant-service-registry - shell: bash - run: | - echo "sermantServiceRegistryChanged=${{ steps.changed-sermant-service-registry.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-springboot-registry - with: - paths: sermant-plugins/sermant-springboot-registry - - name: env sermant-sermant-springboot-registry - shell: bash - run: | - echo "sermantSpringbootRegistryChanged=${{ steps.changed-sermant-springboot-registry.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-sermant-removal - with: - paths: sermant-plugins/sermant-service-removal ./.github/actions/scenarios/dubbo/removal - - name: env sermant-sermant-service-removal - shell: bash - run: | - echo "sermantServiceRemovalChanged=${{ steps.changed-sermant-removal.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-mongodb-database-write-prohibition - with: - paths: sermant-plugins/sermant-database-write-prohibition/database-config-service - sermant-plugins/sermant-database-write-prohibition/database-controller - sermant-plugins/sermant-database-write-prohibition/mongodb-3.x-plugin - sermant-plugins/sermant-database-write-prohibition/mongodb-4.x-plugin - sermant-integration-tests/database-write-prohibition-test/mongodb-demo - sermant-integration-tests/database-write-prohibition-test/database-write-prohibition-common - sermant-integration-tests/database-write-prohibition-test/database-write-prohibition-integration-test - ./.github/actions/common/database-write-prohibition - ./.github/actions/scenarios/database-write-prohibition/mongodb - ./.github/workflows/database_write_prohibition_integration_test.yml - - name: env database-write-prohibition-mongodb - shell: bash - run: | - echo "mongodbDataBaseWriteProhibitionChanged=${{ steps.changed-mongodb-database-write-prohibition.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-mysql-database-write-prohibition - with: - paths: sermant-plugins/sermant-database-write-prohibition/database-config-service - sermant-plugins/sermant-database-write-prohibition/database-controller - sermant-plugins/sermant-database-write-prohibition/mysql-mariadb-2.x-plugin - sermant-plugins/sermant-database-write-prohibition/mysql-mariadb-3.x-plugin - sermant-integration-tests/database-write-prohibition-test/mariadb-demo - sermant-integration-tests/database-write-prohibition-test/database-write-prohibition-common - sermant-integration-tests/database-write-prohibition-test/database-write-prohibition-integration-test - ./.github/actions/common/database-write-prohibition - ./.github/actions/scenarios/database-write-prohibition/mysql - ./.github/workflows/database_write_prohibition_integration_test.yml - - name: env mysql-database-write-prohibition - shell: bash - run: | - echo "mysqlDataBaseWriteProhibitionChanged=${{ steps.changed-mysql-database-write-prohibition.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-opengauss-database-write-prohibition - with: - paths: sermant-plugins/sermant-database-write-prohibition/database-config-service - sermant-plugins/sermant-database-write-prohibition/database-controller - sermant-plugins/sermant-database-write-prohibition/opengauss-3.0.x-plugin - sermant-integration-tests/database-write-prohibition-test/postgresql-opengauss-demo - sermant-integration-tests/database-write-prohibition-test/database-write-prohibition-common - sermant-integration-tests/database-write-prohibition-test/database-write-prohibition-integration-test - ./.github/actions/common/database-write-prohibition - ./.github/actions/scenarios/database-write-prohibition/opengauss - ./.github/workflows/database_write_prohibition_integration_test.yml - - name: env sermant-opengauss - shell: bash - run: | - echo "opengaussDataBaseWritePprohibitionChanged=${{ steps.changed-opengauss-database-write-prohibition.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-opengauss-postgresql-database-write-prohibition - with: - paths: sermant-plugins/sermant-database-write-prohibition/database-config-service - sermant-plugins/sermant-database-write-prohibition/database-controller - sermant-plugins/sermant-database-write-prohibition/opengauss-3.0.x-plugin - sermant-integration-tests/database-write-prohibition-test/postgresql-opengauss-demo - sermant-integration-tests/database-write-prohibition-test/database-write-prohibition-common - sermant-integration-tests/database-write-prohibition-test/database-write-prohibition-integration-test - ./.github/actions/common/database-write-prohibition - ./.github/actions/scenarios/database-write-prohibition/postgresql - ./.github/workflows/database_write_prohibition_integration_test.yml - - name: env sermant-opengauss-postgresql - shell: bash - run: | - echo "opengaussAndPostgresqlDataBaseWritePprohibitionChanged=${{ steps.changed-opengauss-postgresql-database-write-prohibition.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-kafka-consume-prohibition - with: - paths: sermant-plugins/sermant-mq-consume-prohibition/config-service - sermant-plugins/sermant-mq-consume-prohibition/consumer-controller - sermant-plugins/sermant-mq-consume-prohibition/kafka-1.x-2.x-plugin - sermant-integration-tests/mq-consume-prohibition-test/kafka-consumer-demo - sermant-integration-tests/mq-consume-prohibition-test/mq-consume-prohibition-common - sermant-integration-tests/mq-consume-prohibition-test/mq-consume-prohibition-integration-test - - name: env kafka-consume-prohibition - shell: bash - run: | - echo "kafkaConsumeProhibitionChanged=${{ steps.changed-kafka-consume-prohibition.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-rocketmq-consume-prohibition - with: - paths: sermant-plugins/sermant-mq-consume-prohibition/config-service - sermant-plugins/sermant-mq-consume-prohibition/consumer-controller - sermant-plugins/sermant-mq-consume-prohibition/rocketmq-plugin - sermant-integration-tests/mq-consume-prohibition-test/rocketmq-consumer-pull-assign-demo - sermant-integration-tests/mq-consume-prohibition-test/rocketmq-consumer-pull-subscribe-demo - sermant-integration-tests/mq-consume-prohibition-test/rocketmq-consumer-push-demo - sermant-integration-tests/mq-consume-prohibition-test/rocketmq-producer-demo - sermant-integration-tests/mq-consume-prohibition-test/mq-consume-prohibition-common - sermant-integration-tests/mq-consume-prohibition-test/mq-consume-prohibition-integration-test - ./.github/actions/common/mq-consume-prohibition - ./.github/actions/scenarios/mq-consume-prohibition/rocketmq - - name: env rocketmq-consume-prohibition - shell: bash - run: | - echo "rocketmqConsumeProhibitionChanged=${{ steps.changed-rocketmq-consume-prohibition.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-alibaba-dubbo - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-dubbo2.6.x-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/alibaba-dubbo-consumer-demo - sermant-integration-tests/tag-transmission-test/alibaba-dubbo-provider-demo - sermant-integration-tests/tag-transmission-test/rpc-api-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/alibaba-dubbo - - name: env tag-transmission-alibaba-dubbo - shell: bash - run: | - echo "alibabaDubboTagTransmissionChanged=${{ steps.changed-tag-transmission-alibaba-dubbo.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-apache-dubbo - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-dubbo2.7.x-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-dubbo3.x-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/apache-dubbo-consumer-demo - sermant-integration-tests/tag-transmission-test/apache-dubbo-provider-demo - sermant-integration-tests/tag-transmission-test/rpc-api-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/apache-dubbo - - name: env tag-transmission-apache-dubbo - shell: bash - run: | - echo "apacheDubboTagTransmissionChanged=${{ steps.changed-tag-transmission-apache-dubbo.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-grpc - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-grpc-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/grpc-api-demo - sermant-integration-tests/tag-transmission-test/grpc-client-demo - sermant-integration-tests/tag-transmission-test/grpc-server-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/grpc - - name: env tag-transmission-grpc - shell: bash - run: | - echo "grpcTagTransmissionChanged=${{ steps.changed-tag-transmission-grpc.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-httpclientV3 - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-httpclient3.x-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/httpclientv3-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/httpclientv3 - - name: env tag-transmission-httpclientV3 - shell: bash - run: | - echo "httpclientV3TagTransmissionChanged=${{ steps.changed-tag-transmission-httpclientV3.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-httpclientV4 - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-httpclient4.x-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/httpclientv4-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/httpclientv4 - - name: env tag-transmission-httpclientV4 - shell: bash - run: | - echo "httpclientV4TagTransmissionChanged=${{ steps.changed-tag-transmission-httpclientV4.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-jdkhttp-tomcat - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-jdkhttp-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-httpserver-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/jdkhttp-demo - sermant-integration-tests/tag-transmission-test/tomcat-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/jdkhttp-tomcat - - name: env tag-transmission-jdkhttp-tomcat - shell: bash - run: | - echo "tomcatTagTransmissionChanged=${{ steps.changed-tag-transmission-jdkhttp-tomcat.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-jdkhttp-jetty - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-jdkhttp-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-httpserver-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/jdkhttp-demo - sermant-integration-tests/tag-transmission-test/jetty-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/jdkhttp-jetty - - name: env tag-transmission-jdkhttp-jetty - shell: bash - run: | - echo "jettyTagTransmissionChanged=${{ steps.changed-tag-transmission-jdkhttp-jetty.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-kafka - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-kafka-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/kafka-consumer-demo - sermant-integration-tests/tag-transmission-test/kafka-producer-demo - sermant-integration-tests/tag-transmission-test/midware-common-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/kafka - - name: env tag-transmission-kafka - shell: bash - run: | - echo "kafkaTagTransmissionChanged=${{ steps.changed-tag-transmission-kafka.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-okhttp - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-okhttp2.x-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/okhttp-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/okhttp - - name: env tag-transmission-okhttp - shell: bash - run: | - echo "okhttpTagTransmissionChanged=${{ steps.changed-tag-transmission-okhttp.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-rocketmq - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-rocketmq4.x-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-rocketmq5.x-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/rocketmq-consumer-demo - sermant-integration-tests/tag-transmission-test/rocketmq-producer-demo - sermant-integration-tests/tag-transmission-test/midware-common-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/rocketmq - - name: env tag-transmission-rocketmq - shell: bash - run: | - echo "rocketmqTagTransmissionChanged=${{ steps.changed-tag-transmission-rocketmq.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-servicecomb - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-servicecomb-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/servicecomb-consumer-demo - sermant-integration-tests/tag-transmission-test/servicecomb-provider-demo - sermant-integration-tests/tag-transmission-test/rpc-api-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/servicecomb - - name: env tag-transmission-servicecomb - shell: bash - run: | - echo "servicecombTagTransmissionChanged=${{ steps.changed-tag-transmission-servicecomb.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-sofarpc - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-sofarpc-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/sofarpc-consumer-demo - sermant-integration-tests/tag-transmission-test/sofarpc-provider-demo - sermant-integration-tests/tag-transmission-test/rpc-api-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/sofarpc - - name: env tag-transmission-sofarpc - shell: bash - run: | - echo "sofarpcTagTransmissionChanged=${{ steps.changed-tag-transmission-sofarpc.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-config - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/tag-transmission-sofarpc-plugin - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/tomcat-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/config - - name: env tag-transmission-config - shell: bash - run: | - echo "configTagTransmissionChanged=${{ steps.changed-tag-transmission-config.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-tag-transmission-crossthread - with: - paths: sermant-plugins/sermant-tag-transmission/tag-transmission-common - sermant-plugins/sermant-tag-transmission/tag-transmission-crossthread-plugin - sermant-plugins/sermant-tag-transmission/tag-transmission-service - sermant-plugins/sermant-tag-transmission/config - sermant-integration-tests/tag-transmission-test/crossthread-demo - sermant-integration-tests/tag-transmission-test/tag-transmission-integration-test - sermant-integration-tests/tag-transmission-test/tag-transmission-util-demo - sermant-integration-tests/tag-transmission-test/httpserver-common-demo - ./.github/workflows/tagtransmission_integration_test.yml - ./.github/actions/common/tag-transmission - ./.github/actions/scenarios/tag-transmission/crossthread - - name: env tag-transmission-crossthread - shell: bash - run: | - echo "crossthreadTagTransmissionChanged=${{ steps.changed-tag-transmission-crossthread.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-mq-grayscale-rocketmq - with: - paths: sermant-plugins/sermant-mq-grayscale/mq-config-common - sermant-plugins/sermant-mq-grayscale/mq-config-service - sermant-plugins/sermant-mq-grayscale/mq-grayscale-rocketmq-plugin - sermant-integration-tests/mq-grayscale-rocketmq-test/grayscale-rocketmq-consumer-demo - sermant-integration-tests/mq-grayscale-rocketmq-test/grayscale-rocketmq-producer-demo - sermant-integration-tests/mq-grayscale-rocketmq-test/grayscale-rocketmq-integration-test - ./.github/workflows/message_gray_integration_test.yml - ./.github/actions/common/mq-grayscale/rocketmq - ./.github/actions/scenarios/mq-grayscale/rocketmq - - name: env mq-grayscale-rocketmq - shell: bash - run: | - echo "mqGrayscaleRocketMqChanged=${{ steps.changed-mq-grayscale-rocketmq.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-dubbo-router-action - with: - paths: ./.github/actions/scenarios/dubbo/router ./.github/actions/common/dubbo ./.github/workflows/dubbo_integration_test.yml - - name: env dubbo-router-action - shell: bash - run: | - echo "enableDubboRouterActionChange=${{ steps.changed-dubbo-router-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-dubbo3-router-action - with: - paths: ./.github/actions/scenarios/dubbo/router-dubbo3 ./.github/actions/common/dubbo ./.github/workflows/dubbo_integration_test.yml - - name: env dubbo3-router-action - shell: bash - run: | - echo "enableDubbo3RouterActionChange=${{ steps.changed-dubbo3-router-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-dubbo-common-action - with: - paths: ./.github/actions/scenarios/dubbo/dubbo-common ./.github/actions/common/dubbo ./.github/workflows/dubbo_integration_test.yml - - name: env dubbo-router-action - shell: bash - run: | - echo "enableDubboCommonActionChange=${{ steps.changed-dubbo-common-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-dubbo-lane-action - with: - paths: ./.github/actions/scenarios/dubbo/lane ./.github/actions/common/dubbo ./.github/workflows/dubbo_integration_test.yml - - name: env dubbo-lane-action - shell: bash - run: | - echo "enableDubboLaneActionChange=${{ steps.changed-dubbo-lane-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-dubbo3-lane-action - with: - paths: ./.github/actions/scenarios/dubbo/lane-dubbo3 ./.github/actions/common/dubbo ./.github/workflows/dubbo_integration_test.yml - - name: env dubbo3-lane-action - shell: bash - run: | - echo "enableDubbo3LaneActionChange=${{ steps.changed-dubbo3-lane-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-graceful-action - with: - paths: ./.github/actions/scenarios/spring/graceful ./.github/actions/common/spring ./.github/workflows/spring_integration_test_1.yml - - name: env graceful-action - shell: bash - run: | - echo "enableGracefulActionChange=${{ steps.changed-graceful-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-spring-common-action - with: - paths: ./.github/actions/scenarios/spring/spring-common ./.github/actions/common/spring ./.github/workflows/spring_integration_test_1.yml - - name: env changed-spring-common-action - shell: bash - run: | - echo "enableSpringCommonActionChange=${{ steps.changed-spring-common-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-spring-common-action2 - with: - paths: ./.github/actions/scenarios/spring/spring-common ./.github/actions/common/spring ./.github/workflows/spring_integration_test_2.yml - - name: env changed-spring-common-action2 - shell: bash - run: | - echo "enableSpringCommonActionChange2=${{ steps.changed-spring-common-action2.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-dynamic-config-action - with: - paths: ./.github/actions/scenarios/spring/dynamic-config-nacos - ./.github/actions/scenarios/spring/dynamic-config-zk - ./.github/actions/common/spring - ./.github/workflows/spring_integration_test_1.yml - - name: env dynamic-config-action - shell: bash - run: | - echo "enableDynamicConfigActionChange=${{ steps.changed-dynamic-config-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-spring-router-action - with: - paths: ./.github/actions/scenarios/spring/router/spring-router - ./.github/actions/common/spring - ./.github/workflows/spring_integration_test_2.yml - - name: env spring-router-action - shell: bash - run: | - echo "enableSpringRouterActionChange=${{ steps.changed-spring-router-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-spring-tag-router-action - with: - paths: ./.github/actions/scenarios/spring/router/spring-tag-router - ./.github/actions/common/spring - ./.github/workflows/spring_integration_test_2.yml - - name: env spring-tag-router-action - shell: bash - run: | - echo "enableSpringTagRouterActionChange=${{ steps.changed-spring-tag-router-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-spring-tag-az-router-action - with: - paths: ./.github/actions/scenarios/spring/router/spring-tag-az-router - ./.github/actions/common/spring - ./.github/workflows/spring_integration_test_2.yml - - name: env spring-tag-az-router-action - shell: bash - run: | - echo "enableSpringTagAzRouterActionChange=${{ steps.changed-spring-tag-az-router-action.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-spring-test - with: - paths: sermant-integration-tests/spring-test - - name: env changed-spring-test - shell: bash - run: | - echo "enableSpringTestChange=${{ steps.changed-spring-test.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-dubbo-test - with: - paths: sermant-integration-tests/dubbo-test - - name: env changed-dubbo-test - shell: bash - run: | - echo "enableDubboTestChange=${{ steps.changed-dubbo-test.outputs.changed }}" >> $GITHUB_ENV - - uses: ktamas77/has-changed-path@v1.0.3 - id: changed-common-action - with: - paths: ./.github/actions/common/plugin-change-check ./.github/actions/common/entry ./.github/actions/common/exit - - name: check push event - shell: bash - run: | - eventName=${{ github.event_name }} - if [ $eventName == 'push' ];then - echo "triggerPushEvent=true" >> $GITHUB_ENV - else - echo "triggerPushEvent=false" >> $GITHUB_ENV - fi - - name: statistic scenarios change env - shell: bash - run: | - # *****************dubbo_integration_test.yml***************** - # ==========dubbo router is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o ${{ env.sermantRouterChanged }} == 'true' -o \ - ${{ env.sermantServiceRegistryChanged }} == 'true' -o ${{ env.enableDubboRouterActionChange }} == 'true' -o \ - ${{ env.enableDubbo3RouterActionChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableDubboTestChange }} == 'true' ];then - echo "enableDubboRouter=true" >> $GITHUB_ENV - echo "enableDubbo3Router=true" >> $GITHUB_ENV - fi - # ==========dubbo common is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ env.sermantFlowcontrolChanged }} == 'true' -o \ - ${{ env.sermantSpringbootRegistryChanged }} == 'true' -o \ - ${{ env.sermantServiceRegistryChanged }} == 'true' -o \ - ${{ env.enableDubboCommonActionChange }} == 'true' -o \ - ${{ env.sermantRouterChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableDubboTestChange }} == 'true' ];then - echo "enableDubboCommon=true" >> $GITHUB_ENV - fi - # ==========dubbo lane is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o ${{ env.sermantRouterChanged }} == 'true' -o \ - ${{ env.enableDubboLaneActionChange }} == 'true' -o \ - ${{ env.enableDubbo3LaneActionChange }} == 'true' -o \ - ${{ env.sermantServiceRegistryChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableDubboTestChange }} == 'true' ];then - echo "enableDubboLane=true" >> $GITHUB_ENV - echo "enableDubbo3Lane=true" >> $GITHUB_ENV - fi - - # *****************spring_integration_test_1.yml***************** - # ==========graceful is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o ${{ env.sermantServiceRegistryChanged }} == 'true' -o \ - ${{ env.enableGracefulActionChange }} == 'true' -o \ - ${{ env.enableSpringCommonActionChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableSpringTestChange }} == 'true' ];then - echo "enableGraceful=true" >> $GITHUB_ENV - fi - # ==========spring common is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ env.sermantFlowcontrolChanged }} == 'true' -o \ - ${{ env.sermantSpringbootRegistryChanged }} == 'true' -o \ - ${{ env.sermantServiceRegistryChanged }} == 'true' -o \ - ${{ env.enableSpringCommonActionChange }} == 'true' -o \ - ${{ env.sermantRouterChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableSpringTestChange }} == 'true' ];then - echo "enableSpringCommon=true" >> $GITHUB_ENV - fi - # ==========dynamic config is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o ${{ env.sermantDynamicConfigChanged }} == 'true' -o \ - ${{ env.enableSpringCommonActionChange }} == 'true' -o \ - ${{ env.enableSpringTestChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableDynamicConfigActionChange }} == 'true' ];then - echo "enableDynamicConfig=true" >> $GITHUB_ENV - fi - - # *****************spring_integration_test_2.yml***************** - # ==========spring router is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o ${{ env.sermantRouterChanged }} == 'true' -o \ - ${{ env.sermantSpringbootRegistryChanged }} == 'true' -o ${{ env.sermantServiceRegistryChanged }} == 'true' -o \ - ${{ env.enableSpringRouterActionChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableSpringCommonActionChange2 }} == 'true' -o \ - ${{ env.enableSpringTestChange }} == 'true' ];then - echo "enableSpringRouter=true" >> $GITHUB_ENV - fi - # ==========spring tag router is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o ${{ env.sermantRouterChanged }} == 'true' -o \ - ${{ env.sermantSpringbootRegistryChanged }} == 'true' -o ${{ env.sermantServiceRegistryChanged }} == 'true' -o \ - ${{ env.enableSpringTagRouterActionChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableSpringCommonActionChange2 }} == 'true' -o \ - ${{ env.enableSpringTestChange }} == 'true' ];then - echo "enableSpringTagRouter=true" >> $GITHUB_ENV - fi - # ==========spring lane is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o ${{ env.sermantRouterChanged }} == 'true' -o \ - ${{ env.sermantSpringbootRegistryChanged }} == 'true' -o ${{ env.sermantServiceRegistryChanged }} == 'true' -o \ - ${{ env.enableSpringTagAzRouterActionChange }} == 'true' -o \ - ${{ env.enableSpringCommonActionChange2 }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableSpringTestChange }} == 'true' ];then - echo "enableSpringLane=true" >> $GITHUB_ENV - fi - - # ==========removal is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o ${{ env.sermantServiceRemovalChanged }} == 'true' -o \ - ${{ env.sermantSpringbootRegistryChanged }} == 'true' -o ${{ env.sermantServiceRegistryChanged }} == 'true' -o \ - ${{ env.enableSpringCommonActionChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableSpringTestChange }} == 'true' ];then - echo "enableSpringRemoval=true" >> $GITHUB_ENV - fi - # ==========monitor is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ env.sermantFlowcontrolChanged }} == 'true' -o \ - ${{ env.sermantMonitorChanged }} == 'true' -o \ - ${{ env.enableSpringCommonActionChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableSpringTestChange }} == 'true' ];then - echo "enableSpringMonitor=true" >> $GITHUB_ENV - fi - # ==========visibility is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ env.sermantServiceVisibilityChanged }} == 'true' -o \ - ${{ env.enableSpringCommonActionChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableSpringTestChange }} == 'true' ];then - echo "enableSpringVisibility=true" >> $GITHUB_ENV - fi - - # ==========removal is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o ${{ env.sermantServiceRemovalChanged }} == 'true' -o \ - ${{ env.sermantSpringbootRegistryChanged }} == 'true' -o ${{ env.sermantServiceRegistryChanged }} == 'true' -o \ - ${{ env.enableDubboCommonActionChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableDubboTestChange }} == 'true' ];then - echo "enableDubboRemoval=true" >> $GITHUB_ENV - fi - # ==========monitor is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ env.sermantFlowcontrolChanged }} == 'true' -o \ - ${{ env.sermantMonitorChanged }} == 'true' -o \ - ${{ env.enableDubboCommonActionChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableDubboTestChange }} == 'true' ];then - echo "enableDubboMonitor=true" >> $GITHUB_ENV - fi - # ==========visibility is needed to test?========== - if [ ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ env.sermantServiceVisibilityChanged }} == 'true' -o \ - ${{ env.enableDubboCommonActionChange }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' -o \ - ${{ env.enableDubboTestChange }} == 'true' ];then - echo "enableDubboVisibility=true" >> $GITHUB_ENV - fi - - # ==========mongodb DataBase Write Prohibition is needed to test?========== - if [ ${{ env.mongodbDataBaseWriteProhibitionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableMongodbDataBaseWriteProhibitionAction=true" >> $GITHUB_ENV - fi - - # ==========mysql DataBase Write Prohibition is needed to test?========== - if [ ${{ env.mysqlDataBaseWriteProhibitionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableMysqlDataBaseWriteProhibitionAction=true" >> $GITHUB_ENV - fi - - # ==========opengauss DataBase Write Prohibition is needed to test?========== - if [ ${{ env.opengaussDataBaseWritePprohibitionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableOpengaussDataBaseWriteProhibitionAction=true" >> $GITHUB_ENV - fi - - # ==========opengauss And Postgresql DataBase Write Prohibition is needed to test?========== - if [ ${{ env.opengaussAndPostgresqlDataBaseWritePprohibitionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableOpengaussAndPostgresqlDataBaseWriteProhibitionAction=true" >> $GITHUB_ENV - fi - - # ==========kafka consume Prohibition is needed to test?========== - if [ ${{ env.kafkaConsumeProhibitionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableKafkaConsumeProhibitionAction=true" >> $GITHUB_ENV - fi - - # ==========rocketmq consume Prohibition is needed to test?========== - if [ ${{ env.rocketmqConsumeProhibitionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableRocketmqConsumeProhibitionAction=true" >> $GITHUB_ENV - fi - - # ==========alibaba Dubbo Tag Transmission is needed to test?========== - if [ ${{ env.alibabaDubboTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableAlibabaDubboTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========apache Dubbo Tag Transmission is needed to test?========== - if [ ${{ env.apacheDubboTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableApacheDubboTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========grpc Tag Transmission is needed to test?========== - if [ ${{ env.grpcTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableGrpcTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========httpclientV3 Tag Transmission is needed to test?========== - if [ ${{ env.httpclientV3TagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableHttpclientV3TagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========httpclientV4 Tag Transmission is needed to test?========== - if [ ${{ env.httpclientV4TagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableHttpclientV4TagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========tomcat Tag Transmission is needed to test?========== - if [ ${{ env.tomcatTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableTomcatTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========jetty Tag Transmission is needed to test?========== - if [ ${{ env.jettyTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableJettyTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========kafka Tag Transmission is needed to test?========== - if [ ${{ env.kafkaTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableKafkaTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========okhttp Tag Transmission is needed to test?========== - if [ ${{ env.okhttpTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableOkhttpTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========rocketmq Tag Transmission is needed to test?========== - if [ ${{ env.rocketmqTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableRocketmqTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========servicecomb Tag Transmission is needed to test?========== - if [ ${{ env.servicecombTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableServicecombTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========sofarpc Tag Transmission is needed to test?========== - if [ ${{ env.sofarpcTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableSofarpcTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========config Tag Transmission is needed to test?========== - if [ ${{ env.configTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableConfigTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========crossthread Tag Transmission is needed to test?========== - if [ ${{ env.crossthreadTagTransmissionChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableCrossthreadTagTransmissionAction=true" >> $GITHUB_ENV - fi - - # ==========dynamic config service is needed to test?========== - if [ ${{ env.sermantAgentCoreDynamicConfigServiceChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableDynamicConfigServicAction=true" >> $GITHUB_ENV - fi - - # ==========xds service is needed to test?========== - if [ ${{ env.sermantAgentCoreXdsServiceChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableXdsServicAction=true" >> $GITHUB_ENV - fi - - # ==========mq grayscale rocketmq is needed to test?========== - if [ ${{ env.mqGrayscaleRocketMqChanged }} == 'true' -o \ - ${{ env.sermantAgentCoreChanged }} == 'true' -o \ - ${{ steps.changed-common-action.outputs.changed }} == 'true' -o ${{ env.triggerPushEvent }} == 'true' ];then - echo "enableMqGrayscaleRocketMqAction=true" >> $GITHUB_ENV - fi diff --git a/.github/actions/scenarios/backend/config/action.yml b/.github/actions/scenarios/backend/config/action.yml index cb05d180ea..98f0199dbb 100644 --- a/.github/actions/scenarios/backend/config/action.yml +++ b/.github/actions/scenarios/backend/config/action.yml @@ -3,6 +3,10 @@ description: "Auto test for Backend" runs: using: "composite" steps: + - name: entry + uses: ./.github/actions/common/entry + with: + log-dir: ./logs/backend-config - name: start backend with zookeeper shell: bash env: diff --git a/.github/actions/scenarios/backend/event/memory/action.yml b/.github/actions/scenarios/backend/event/memory/action.yml index 37af0ebca3..4812af9bc9 100644 --- a/.github/actions/scenarios/backend/event/memory/action.yml +++ b/.github/actions/scenarios/backend/event/memory/action.yml @@ -3,18 +3,13 @@ description: "Auto test for Backend" runs: using: "composite" steps: - - name: download agent - uses: actions/cache@v4 - with: - path: sermant-agent-*/ - key: ${{ runner.os }}-agent-${{ github.run_id }} - name: package dubbo 2.6.0 tests shell: bash run: mvn package -Dalibaba.dubbo.version=2.6.0 -DskipTests -P260 --file sermant-integration-tests/dubbo-test/pom.xml - name: entry uses: ./.github/actions/common/entry with: - log-dir: ./logs/backend + log-dir: ./logs/backend-memory - name: start backend with memory shell: bash run: | @@ -39,10 +34,6 @@ runs: shell: bash run: | netstat -nlp | grep :28021 | awk '{print $7}' | awk -F "/" '{print $1}' | xargs kill - - name: install requests - shell: bash - run: | - pip install requests - name: start test shell: bash run: | diff --git a/.github/actions/scenarios/backend/event/redis/action.yml b/.github/actions/scenarios/backend/event/redis/action.yml index d12db858b7..83e5466c62 100644 --- a/.github/actions/scenarios/backend/event/redis/action.yml +++ b/.github/actions/scenarios/backend/event/redis/action.yml @@ -6,7 +6,7 @@ runs: - name: entry uses: ./.github/actions/common/entry with: - log-dir: ./logs/backend + log-dir: ./logs/backend-redis - name: install redis shell: bash run: | diff --git a/.github/actions/scenarios/backend/external-agent/action.yml b/.github/actions/scenarios/backend/external-agent/action.yml new file mode 100644 index 0000000000..a22b6e8625 --- /dev/null +++ b/.github/actions/scenarios/backend/external-agent/action.yml @@ -0,0 +1,235 @@ +name: "Test external agent management" +description: "Auto test for external agent" +runs: + using: "composite" + steps: + - name: entry + uses: ./.github/actions/common/entry + with: + log-dir: ./logs/backend-external-agent + - name: compile AgentLoader + shell: bash + run: | + cp sermant-integration-tests/scripts/AgentLoader.java ./ + javac -classpath ./:${{ env.JAVA_HOME}}/lib/tools.jar AgentLoader.java + - name: download opentelemetry agent + uses: actions/cache@v4 + with: + path: opentelemetry-javaagent.jar + key: ${{ runner.os }}-opentelemetry-javaagent.jar + restore-keys: | + ${{ runner.os }}-opentelemetry-javaagent.jar + - name: start backend with zookeeper + shell: bash + env: + DYNAMIC_CONFIG_SERVERADDRESS: 127.0.0.1:2181 + DYNAMIC_CONFIG_DYNAMICCONFIGTYPE: ZOOKEEPER + DYNAMIC_CONFIG_ENABLE: true + NETTY_PORT: 6894 + SERVER_PORT: 8910 + MAX_EFFECTIVE_TIME: 20000 + run: | + nohup java -jar sermant-agent-${{ env.sermantVersion }}/server/sermant/sermant-backend-${{ env.sermantVersion }}.jar & + sleep 20 + + - name: start application with sermant agent without external agent + shell: bash + env: + dynamic.config.serverAddress: 127.0.0.1:2181 + dynamic.config.dynamicConfigType: ZOOKEEPER + service.meta.project: TestAgentCore + run: | + nohup java -javaagent:sermant-agent-${{ env.sermantVersion }}/agent/sermant-agent.jar \ + -Dserver.port=8915 \ + -Dagent.config.externalAgent.injection=false \ + -Dagent.service.heartbeat.enable=true \ + -Dagent.service.gateway.enable=true \ + -Devent.enable=true \ + -Dgateway.nettyPort=6894 \ + -Dheartbeat.interval=5000 \ + -jar sermant-agent-${{ env.sermantVersion }}/agent/agentcore-test-application-1.0.0-jar-with-dependencies.jar > ${{ env.logDir }}/agentcore-test.log 2>&1 & + - name: waiting for application start + shell: bash + run: | + bash ./sermant-integration-tests/scripts/checkService.sh http://127.0.0.1:8915/ping 120 + - name: test start with sermant agent without external agent + shell: bash + run: | + export TEST_MODE=startWithoutExternalAgent + python -m unittest ./sermant-integration-tests/scripts/test_backend_external_agent.py + - name: stop application + shell: bash + run: | + netstat -nlp | grep :8915 | awk '{print $7}' | awk -F "/" '{print $1}' | xargs kill + sleep 3 + - name: start application with sermant agent and external agent + shell: bash + env: + dynamic.config.serverAddress: 127.0.0.1:2181 + dynamic.config.dynamicConfigType: ZOOKEEPER + service.meta.project: TestAgentCore + run: | + nohup java -javaagent:sermant-agent-${{ env.sermantVersion }}/agent/sermant-agent.jar \ + -Dserver.port=8916 \ + -Dagent.config.externalAgent.injection=true \ + -Dagent.config.externalAgent.name=OTEL \ + -Dagent.config.externalAgent.file=opentelemetry-javaagent.jar \ + -Dagent.service.heartbeat.enable=true \ + -Dagent.service.gateway.enable=true \ + -Devent.enable=true \ + -Dgateway.nettyPort=6894 \ + -Dheartbeat.interval=5000 \ + -jar sermant-agent-${{ env.sermantVersion }}/agent/agentcore-test-application-1.0.0-jar-with-dependencies.jar > ${{ env.logDir }}/agentcore-test.log 2>&1 & + - name: waiting for application start + shell: bash + run: | + bash ./sermant-integration-tests/scripts/checkService.sh http://127.0.0.1:8916/ping 120 + - name: test start with sermant agent and external agent + shell: bash + run: | + export TEST_MODE=startWithExternalAgent + python -m unittest ./sermant-integration-tests/scripts/test_backend_external_agent.py + - name: stop application + shell: bash + run: | + netstat -nlp | grep :8916 | awk '{print $7}' | awk -F "/" '{print $1}' | xargs kill + sleep 3 + - name: start application alone + shell: bash + env: + dynamic.config.serverAddress: 127.0.0.1:2181 + dynamic.config.dynamicConfigType: ZOOKEEPER + service.meta.project: TestAgentCore + run: | + nohup java -Dserver.port=8917 \ + -jar sermant-agent-${{ env.sermantVersion }}/agent/agentcore-test-application-1.0.0-jar-with-dependencies.jar > ${{ env.logDir }}/agentcore-test.log 2>&1 & + - name: waiting for application start + shell: bash + run: | + bash ./sermant-integration-tests/scripts/checkService.sh http://127.0.0.1:8917/ping 120 + sleep 10 + - name: dynamic install external agent + shell: bash + run: java -classpath ./:${{ env.JAVA_HOME}}/lib/tools.jar AgentLoader sermant-agent-${{ env.sermantVersion }}/agent/sermant-agent.jar \ + command=INSTALL-EXTERNAL-AGENT:OTEL,AGENT_FILE=opentelemetry-javaagent.jar,agent.service.heartbeat.enable=true,agent.service.gateway.enable=true,event.enable=true,gateway.nettyPort=6894,heartbeat.interval=5000 + - name: test install external agent by attach in case of sermant agent is not installed + shell: bash + run: | + export TEST_MODE=installByAttach + python -m unittest ./sermant-integration-tests/scripts/test_backend_external_agent.py + - name: stop application + shell: bash + run: | + netstat -nlp | grep :8917 | awk '{print $7}' | awk -F "/" '{print $1}' | xargs kill + sleep 3 + - name: start application with sermant agent without external agent + shell: bash + env: + dynamic.config.serverAddress: 127.0.0.1:2181 + dynamic.config.dynamicConfigType: ZOOKEEPER + service.meta.project: TestAgentCore + run: | + nohup java -javaagent:sermant-agent-${{ env.sermantVersion }}/agent/sermant-agent.jar \ + -Dserver.port=8918 \ + -Dagent.config.externalAgent.injection=false \ + -Dagent.service.heartbeat.enable=true \ + -Dagent.service.gateway.enable=true \ + -Devent.enable=true \ + -Dgateway.nettyPort=6894 \ + -Dheartbeat.interval=5000 \ + -jar sermant-agent-${{ env.sermantVersion }}/agent/agentcore-test-application-1.0.0-jar-with-dependencies.jar > ${{ env.logDir }}/agentcore-test.log 2>&1 & + - name: waiting for application start + shell: bash + run: | + bash ./sermant-integration-tests/scripts/checkService.sh http://127.0.0.1:8918/ping 120 + - name: dynamic install external agent + shell: bash + run: java -classpath ./:${{ env.JAVA_HOME}}/lib/tools.jar AgentLoader sermant-agent-${{ env.sermantVersion }}/agent/sermant-agent.jar \ + command=INSTALL-EXTERNAL-AGENT:OTEL,AGENT_FILE=opentelemetry-javaagent.jar,agent.service.heartbeat.enable=true,agent.service.gateway.enable=true,event.enable=true,gateway.nettyPort=6894 + - name: test install external agent by attach in case of sermant agent is installed + shell: bash + run: | + export TEST_MODE=installByAttach + python -m unittest ./sermant-integration-tests/scripts/test_backend_external_agent.py + - name: stop application + shell: bash + run: | + netstat -nlp | grep :8918 | awk '{print $7}' | awk -F "/" '{print $1}' | xargs kill + sleep 3 + - name: start application alone + shell: bash + env: + dynamic.config.serverAddress: 127.0.0.1:2181 + dynamic.config.dynamicConfigType: ZOOKEEPER + service.meta.project: TestAgentCore + run: | + nohup java -Dserver.port=8919 \ + -jar sermant-agent-${{ env.sermantVersion }}/agent/agentcore-test-application-1.0.0-jar-with-dependencies.jar > ${{ env.logDir }}/agentcore-test.log 2>&1 & + - name: waiting for application start + shell: bash + run: | + bash ./sermant-integration-tests/scripts/checkService.sh http://127.0.0.1:8919/ping 120 + sleep 10 + - name: dynamic install external agent + shell: bash + run: java -classpath ./:${{ env.JAVA_HOME}}/lib/tools.jar AgentLoader sermant-agent-${{ env.sermantVersion }}/agent/sermant-agent.jar \ + agent.config.externalAgent.injection=true,agent.config.externalAgent.name=OTEL,agent.config.externalAgent.file=opentelemetry-javaagent.jar,agent.service.heartbeat.enable=true,agent.service.gateway.enable=true,event.enable=true,gateway.nettyPort=6894,heartbeat.interval=5000 + - name: test install external agent by attach in case of sermant agent is not installalled and has set external agent config + shell: bash + run: | + export TEST_MODE=installByAttach + python -m unittest ./sermant-integration-tests/scripts/test_backend_external_agent.py + - name: stop application + shell: bash + run: | + netstat -nlp | grep :8919 | awk '{print $7}' | awk -F "/" '{print $1}' | xargs kill + sleep 3 + - name: start application with sermant agent without external agent + shell: bash + env: + dynamic.config.serverAddress: 127.0.0.1:2181 + dynamic.config.dynamicConfigType: ZOOKEEPER + service.meta.project: TestAgentCore + run: | + nohup java -javaagent:sermant-agent-${{ env.sermantVersion }}/agent/sermant-agent.jar \ + -Dserver.port=8920 \ + -Dagent.config.externalAgent.injection=false \ + -Dagent.service.heartbeat.enable=true \ + -Dagent.service.gateway.enable=true \ + -Devent.enable=true \ + -Dgateway.nettyPort=6894 \ + -Dheartbeat.interval=5000 \ + -jar sermant-agent-${{ env.sermantVersion }}/agent/agentcore-test-application-1.0.0-jar-with-dependencies.jar > ${{ env.logDir }}/agentcore-test.log 2>&1 & + - name: waiting for application start + shell: bash + run: | + bash ./sermant-integration-tests/scripts/checkService.sh http://127.0.0.1:8920/ping 120 + - name: test install external agent by Sermant Backend + shell: bash + run: | + export TEST_MODE=install + python -m unittest ./sermant-integration-tests/scripts/test_backend_external_agent.py + - name: stop application + shell: bash + run: | + netstat -nlp | grep :8920 | awk '{print $7}' | awk -F "/" '{print $1}' | xargs kill + sleep 3 + - name: stop backend + shell: bash + run: | + netstat -nlp | grep :8910 | awk '{print $7}' | awk -F "/" '{print $1}' | xargs kill + - name: exit + if: always() + uses: ./.github/actions/common/exit + with: + processor-keyword: agentcore|backend + - name: if failure then upload error log + uses: actions/upload-artifact@v4 + if: ${{ failure() || cancelled() }} + with: + name: (${{ github.job }})-backend-logs + path: | + ./*.log + ./logs/** + if-no-files-found: warn + retention-days: 2 diff --git a/.github/actions/scenarios/backend/hot-plugging/action.yml b/.github/actions/scenarios/backend/hot-plugging/action.yml index 810b1c70c4..16c374f78b 100644 --- a/.github/actions/scenarios/backend/hot-plugging/action.yml +++ b/.github/actions/scenarios/backend/hot-plugging/action.yml @@ -1,8 +1,12 @@ -name: "Test the configuration management of Backend" +name: "Test the plugin hot-plugging in Backend" description: "Auto test for Backend" runs: using: "composite" steps: + - name: entry + uses: ./.github/actions/common/entry + with: + log-dir: ./logs/backend-hot-plugging - name: compile AgentLoader shell: bash run: | @@ -27,8 +31,7 @@ runs: service.meta.project: TestAgentCore run: | nohup java -jar \ - sermant-agent-${{ env.sermantVersion }}/agent/agentcore-test-application-1.0.0-jar-with-dependencies.jar > ${{ env.logDir - }}/agentcore-test.log 2>&1 & + sermant-agent-${{ env.sermantVersion }}/agent/agentcore-test-application-1.0.0-jar-with-dependencies.jar > ${{ env.logDir }}/agentcore-test.log 2>&1 & - name: waiting for agentcore services start shell: bash run: | @@ -66,6 +69,14 @@ runs: run: | export TEST_MODE=unInstall python -m unittest ./sermant-integration-tests/scripts/test_backend_hot_plugging.py + - name: stop application + shell: bash + run: | + netstat -nlp | grep :8915 | awk '{print $7}' | awk -F "/" '{print $1}' | xargs kill + - name: stop backend + shell: bash + run: | + netstat -nlp | grep :8910 | awk '{print $7}' | awk -F "/" '{print $1}' | xargs kill - name: exit if: always() uses: ./.github/actions/common/exit diff --git a/.github/workflows/backend_integration_test.yml b/.github/workflows/backend_integration_test.yml index ae6fa98d12..22c08bd504 100644 --- a/.github/workflows/backend_integration_test.yml +++ b/.github/workflows/backend_integration_test.yml @@ -57,6 +57,17 @@ jobs: run: | export ROOT_PATH=$(pwd) bash ./sermant-integration-tests/scripts/tryDownloadMidware.sh nacos210 + - name: cache opentelemetry agent + uses: actions/cache@v4 + with: + path: opentelemetry-javaagent.jar + key: ${{ runner.os }}-opentelemetry-javaagent.jar + restore-keys: | + ${{ runner.os }}-opentelemetry-javaagent.jar + - name: download opentelemetry agent + run: | + export ROOT_PATH=$(pwd) + bash ./sermant-integration-tests/scripts/tryDownloadMidware.sh otel build-agent-and-cache: name: build agent and cache runs-on: ubuntu-latest @@ -94,11 +105,13 @@ jobs: echo "javaVersion=8" >> $GITHUB_ENV - name: start backend common test uses: ./.github/actions/common/backend - - name: start backend use memory test - uses: ./.github/actions/scenarios/backend/event/memory - - name: start backend use redis test - uses: ./.github/actions/scenarios/backend/event/redis - - name: start config manager test - uses: ./.github/actions/scenarios/backend/config - - name: start hot plugging test - uses: ./.github/actions/scenarios/backend/hot-plugging +# - name: start backend use memory test +# uses: ./.github/actions/scenarios/backend/event/memory +# - name: start backend use redis test +# uses: ./.github/actions/scenarios/backend/event/redis +# - name: start config manager test +# uses: ./.github/actions/scenarios/backend/config +# - name: start hot plugging test +# uses: ./.github/actions/scenarios/backend/hot-plugging + - name: start external agent test + uses: ./.github/actions/scenarios/backend/external-agent diff --git a/sermant-integration-tests/agentcore-test/agentcore-test-application/src/main/java/com/example/sermant/agentcore/test/application/AgentCoreTestApplication.java b/sermant-integration-tests/agentcore-test/agentcore-test-application/src/main/java/com/example/sermant/agentcore/test/application/AgentCoreTestApplication.java index 3a1df759b2..4246adad1f 100644 --- a/sermant-integration-tests/agentcore-test/agentcore-test-application/src/main/java/com/example/sermant/agentcore/test/application/AgentCoreTestApplication.java +++ b/sermant-integration-tests/agentcore-test/agentcore-test-application/src/main/java/com/example/sermant/agentcore/test/application/AgentCoreTestApplication.java @@ -31,7 +31,7 @@ * @since 2023-09-08 */ public class AgentCoreTestApplication { - private static final int SERVER_PORT = 8915; + private static int SERVER_PORT = 8915; /** * 启动main方法 @@ -41,6 +41,10 @@ public class AgentCoreTestApplication { * @throws IllegalAccessException */ public static void main(String[] args) throws IOException, IllegalAccessException { + String port = System.getProperty("server.port"); + if(port != null && !"".equals(port)) { + SERVER_PORT = Integer.parseInt(port); + } HttpServer server = HttpServer.create(new InetSocketAddress(SERVER_PORT), 0); // 添加URL路由 diff --git a/sermant-integration-tests/scripts/test_backend_external_agent.py b/sermant-integration-tests/scripts/test_backend_external_agent.py new file mode 100644 index 0000000000..f1551dbeba --- /dev/null +++ b/sermant-integration-tests/scripts/test_backend_external_agent.py @@ -0,0 +1,75 @@ +# +# Copyright (C) 2025-2025 Sermant Authors. All rights reserved. +# +# Licensed 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. +# +# + +import requests +import time +import unittest +import os + +class TestBackendExternalAgent(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.mode = os.getenv('TEST_MODE', 'default') + cls.session = requests.session() + + @classmethod + def tearDownClass(cls): + cls.session.close() + + hot_plugging_url = "http://127.0.0.1:8910/sermant/publishHotPluggingConfig" + query_plugin_info_url = "http://127.0.0.1:8910/sermant/getPluginsInfo" + header = {'content-type': 'application/json'} + install_external_agent_param = { + "commandType": "INSTALL-EXTERNAL-AGENT", + "instanceIds": "", + "externalAgentName": "OTEL", + "agentPath": "opentelemetry-javaagent.jar" + } + + def get_health_instances(self): + time.sleep(30) + resp = self.session.get(self.query_plugin_info_url).json() + health_instances = [item for item in resp if item.get('health') is True] + print("Health Instances:", health_instances) + return health_instances + + def assert_otel_installed(self, instance): + self.assertIn("OTEL", instance['externalAgentInfoMap'], "OTEL not found in externalAgentInfoMap") + self.assertEqual("OTEL", instance['externalAgentInfoMap']['OTEL']['name']) + self.assertEqual("2.10.0", instance['externalAgentInfoMap']['OTEL']['version']) + + def test_external_agent_function(self): + health_instances = self.get_health_instances() + + if self.mode == 'startWithoutExternalAgent': + self.assertEqual({}, health_instances[0]['externalAgentInfoMap']) + + elif self.mode == 'startWithExternalAgent': + self.assert_otel_installed(health_instances[0]) + + elif self.mode == 'installByAttach': + self.assert_otel_installed(health_instances[0]) + + elif self.mode == 'installByBackend': + self.install_external_agent_param["instanceIds"] = health_instances[0]['instanceId'] + self.session.post(self.hot_plugging_url, json=self.install_external_agent_param, headers=self.header) + + health_instances = self.get_health_instances() + self.assert_otel_installed(health_instances[0]) + +if __name__ == "__main__": + unittest.main() diff --git a/sermant-integration-tests/scripts/test_backend_hot_plugging.py b/sermant-integration-tests/scripts/test_backend_hot_plugging.py index 9d1e2c4952..3c1c5be323 100644 --- a/sermant-integration-tests/scripts/test_backend_hot_plugging.py +++ b/sermant-integration-tests/scripts/test_backend_hot_plugging.py @@ -74,6 +74,5 @@ def test_hot_plugging_function(self): resp = session.get(self.query_uninstall_result_url).json() self.assertTrue(resp.get('DYNAMIC_UNINSTALL_PLUGIN_INTERCEPTOR_FAILURE')) self.assertFalse(resp.get('DYNAMIC_UNINSTALL_REPEAT_ENHANCE')) - if __name__ == "__main__": unittest.main() diff --git a/sermant-integration-tests/scripts/tryDownloadMidware.sh b/sermant-integration-tests/scripts/tryDownloadMidware.sh index 7bf53c974e..364a959e2c 100644 --- a/sermant-integration-tests/scripts/tryDownloadMidware.sh +++ b/sermant-integration-tests/scripts/tryDownloadMidware.sh @@ -44,6 +44,9 @@ ROCKETMQ_514_FILE_NAME=rocketmq-all-5.1.4-bin-release.zip KAFKA_ADDRESS=https://archive.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz KAFKA_FILE_NAME=kafka_2.13-2.7.0.tgz +OTEL_ADDRESS=https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v2.10.0/opentelemetry-javaagent.jar +OTEL_FILE_NAME=opentelemetry-javaagent.jar + #重试次数 TRY_TIMES=3 @@ -95,6 +98,9 @@ elif [ $midleware == "rocketmq514" ]; then elif [ $midleware == "kafka" ]; then ADDRESS=$KAFKA_ADDRESS FILE_NAME=$KAFKA_FILE_NAME + elif [ $midleware == "otel" ]; then + ADDRESS=$OTEL_ADDRESS + FILE_NAME=$OTEL_FILE_NAME else ADDRESS=$CSE_ADDRESS FILE_NAME=$CSE_FILE_NAME