E2E test for pull request #1697
This file contains hidden or 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: E2E test for pull request | |
| on: | |
| workflow_run: | |
| workflows: ["PR-CI"] | |
| types: | |
| - completed | |
| env: | |
| DOCKER_REPO: wuyfeedocker/nacos-ci | |
| DOCKER_REPO_B: wuyfeehub/nacos-ci | |
| TEST_REPO_NAME: nacos-group/nacos-e2e | |
| HEADER_PARAMS: "-H \"Accept: application/vnd.github+json\" -H \"Authorization: Bearer ${{ secrets.ACTION_TOKEN }}\" -H \"X-GitHub-Api-Version: 2022-11-28\"" | |
| HEADER_PARAMS_WRITE_COMMENT: "-H \"Accept: application/vnd.github+json\" -H \"Authorization: Bearer ${{ secrets.ACTION_TOKEN }}\" -H \"X-GitHub-Api-Version: 2022-11-28\"" | |
| BASE_URL_NACOS: https://api.github.com/repos/${GITHUB_REPOSITORY} | |
| BASE_URL_ROBOT: https://api.github.com/repos/wuyfee/nacos | |
| jobs: | |
| docker: | |
| runs-on: ubuntu-latest | |
| if: > | |
| github.event.workflow_run.event == 'pull_request' && | |
| github.event.workflow_run.conclusion == 'success' | |
| timeout-minutes: 30 | |
| strategy: | |
| matrix: | |
| base-image: ["ubuntu"] | |
| java-version: ["17"] | |
| outputs: | |
| version-json: ${{ steps.show_versions.outputs.version-json }} | |
| steps: | |
| - name: 'Download artifact' | |
| uses: actions/github-script@v6 | |
| with: | |
| script: | | |
| let artifacts = await github.rest.actions.listWorkflowRunArtifacts({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| run_id: ${{ github.event.workflow_run.id }}, | |
| }); | |
| let matchArtifactNacos = artifacts.data.artifacts.filter((artifact) => { | |
| return artifact.name == "nacos" | |
| })[0]; | |
| let download = await github.rest.actions.downloadArtifact({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| artifact_id: matchArtifactNacos.id, | |
| archive_format: 'zip', | |
| }); | |
| var fs = require('fs'); | |
| fs.writeFileSync('${{github.workspace}}/nacos.zip', Buffer.from(download.data)); | |
| - run: | | |
| unzip nacos.zip | |
| mkdir nacos | |
| cp -r nacos-* nacos/ | |
| - uses: actions/checkout@v3 | |
| with: | |
| repository: nacos-group/nacos-e2e.git | |
| ref: main | |
| path: nacos-e2e | |
| - name: Generate image tag | |
| id: build-images | |
| run: | | |
| mv nacos-server-*.tar.gz nacos-e2e/cicd/build | |
| cd nacos-e2e/cicd/build | |
| version=${{ github.event.pull_request.number || github.ref_name }}-$(uuidgen) | |
| mkdir versionlist | |
| touch versionlist/"${version}-`echo ${{ matrix.java-version }} | sed -e "s/:/-/g"`" | |
| ls versionlist/ | |
| echo TAG=${version}-$(echo ${{ matrix.java-version }} | sed -e "s/:/-/g") >> $GITHUB_ENV | |
| - name: docker-login-1 | |
| uses: docker/login-action@v2 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ secrets.DOCKERHUB_USER }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: save docker_1 images | |
| run: | | |
| mkdir build_backup | |
| cp -rf nacos-e2e/cicd/build/* ./build_backup/ | |
| cd nacos-e2e/cicd/build | |
| docker build --no-cache -f Dockerfile -t ${DOCKER_REPO}:${{ env.TAG }} . | |
| docker push ${DOCKER_REPO}:${{ env.TAG }} | |
| - name: docker-login-2 | |
| uses: docker/login-action@v2 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ secrets.DOCKERHUB_USER_B }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN_B }} | |
| - name: save docker_2 images | |
| run: | | |
| rm -rf nacos-e2e/cicd/build/* | |
| mv ./build_backup/* nacos-e2e/cicd/build/ | |
| cd nacos-e2e/cicd/build | |
| docker build --no-cache -f Dockerfile -t ${DOCKER_REPO_B}:${{ env.TAG }} . | |
| docker push ${DOCKER_REPO_B}:${{ env.TAG }} | |
| - name: Show versions | |
| id: show_versions | |
| run: | | |
| a=(`ls nacos-e2e/cicd/build/versionlist`) | |
| printf '%s\n' "${a[@]}" | jq -R . | jq -s . | |
| echo version-json=`printf '%s\n' "${a[@]}" | jq -R . | jq -s .` >> $GITHUB_OUTPUT | |
| deploy: | |
| if: ${{ success() }} | |
| name: Deploy nacos | |
| needs: [docker] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| env: | |
| REPLICA_COUNT: 3 | |
| DATABASE: mysql | |
| NODE_PORT: 30000 | |
| AUTH_ENABLED: false | |
| ACTUAL_MODE: cluster | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| mode: ["cluster","standalone","standalone_auth"] | |
| version: ${{ fromJSON(needs.docker.outputs.version-json) }} | |
| steps: | |
| - name: set nodeport | |
| run: | | |
| echo "NODE_PORT=$(expr $(expr $(expr $(expr ${{ strategy.job-index }} + 1) * ${{ github.run_number }}) % 30000) + 30000)" >> $GITHUB_ENV | |
| - name: set params values | |
| run: | | |
| if [[ ${{ matrix.mode }} == "standalone"* ]];then | |
| if [[ ${{ matrix.mode }} = "standalone_auth" ]]; then | |
| echo "AUTH_ENABLED=true" >> $GITHUB_ENV | |
| fi | |
| echo "ACTUAL_MODE=standalone" >> $GITHUB_ENV | |
| echo "REPLICA_COUNT=1" >> $GITHUB_ENV | |
| echo "DATABASE=embedded" >> $GITHUB_ENV | |
| echo ${{ matrix.mode }}-nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| fi | |
| - name: allocate docker repo | |
| run: | | |
| if [[ $(expr $(expr ${{ github.run_id }} + ${{ strategy.job-index }} ) % 2 ) -eq 1 ]]; then | |
| echo "DOCKER_REPO_ACTUAL=${{ env.DOCKER_REPO }}" >> $GITHUB_ENV | |
| else | |
| echo "DOCKER_REPO_ACTUAL=${{ env.DOCKER_REPO_B }}" >> $GITHUB_ENV | |
| fi | |
| - uses: apache/rocketmq-test-tool@java-dev | |
| name: Deploy nacos | |
| with: | |
| yamlString: | | |
| action: deploy | |
| namespace: nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| askConfig: ${{ secrets.ASK_CONFIG_VIRGINA }} | |
| waitTimes: 2000 | |
| velaAppDescription: nacos-${{ env.GITHUB_WORKFLOW }}-${{ github.run_id }}@${{ matrix.version }} | |
| repoName: nacos | |
| helm: | |
| chart: ./cicd/helm | |
| git: | |
| branch: main | |
| repoType: git | |
| retries: 3 | |
| url: https://github.com/nacos-group/nacos-e2e.git | |
| values: | |
| namespace: nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| global: | |
| mode: ${{ env.ACTUAL_MODE }} | |
| nacos: | |
| replicaCount: ${{ env.REPLICA_COUNT }} | |
| image: | |
| repository: ${{ env.DOCKER_REPO_ACTUAL }} | |
| tag: ${{ matrix.version }} | |
| auth: | |
| enabled: ${{ env.AUTH_ENABLED }} | |
| storage: | |
| type: ${{ env.DATABASE }} | |
| db: | |
| port: 3306 | |
| username: nacos | |
| password: nacos | |
| param: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false | |
| service: | |
| nodePort: ${{ env.NODE_PORT }} | |
| type: ClusterIP | |
| e2e-java-test: | |
| if: ${{ success() }} | |
| name: Java e2e Test | |
| needs: [docker, deploy] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| env: | |
| CODE_PATH: java/nacos-2X | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| mode: ["cluster","standalone","standalone_auth"] | |
| version: ${{ fromJSON(needs.docker.outputs.version-json) }} | |
| steps: | |
| - name: set code path | |
| run: | | |
| if [[ ${{ matrix.mode }} = "standalone_auth" ]]; then | |
| echo "CODE_PATH=java/auth" >> $GITHUB_ENV | |
| echo ${{ matrix.mode }}-nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| fi | |
| - uses: apache/rocketmq-test-tool@java-dev | |
| name: java e2e test | |
| with: | |
| yamlString: | | |
| action: test | |
| namespace: nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| askConfig: ${{ secrets.ASK_CONFIG_VIRGINA }} | |
| API_VERSION: v1 | |
| KIND: Pod | |
| RESTART_POLICY: Never | |
| ENV: | |
| WAIT_TIME: 900 | |
| REPO_NAME: ${{ env.TEST_REPO_NAME }} | |
| CODE: https://github.com/${{ env.TEST_REPO_NAME }} | |
| BRANCH: main | |
| CODE_PATH: ${{ env.CODE_PATH }} | |
| CMD: mvn clean test -B | |
| ALL_IP: null | |
| CONTAINER: | |
| IMAGE: cloudnativeofalibabacloud/test-runner:v0.0.4 | |
| RESOURCE_LIMITS: | |
| cpu: 2 | |
| memory: 2Gi | |
| RESOURCE_REQUIRE: | |
| cpu: 2 | |
| memory: 2Gi | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| name: Upload test log | |
| with: | |
| name: testlog-${{ matrix.mode }}-java.txt | |
| path: testlog.txt | |
| - name: add markdown | |
| if: always() | |
| run: | | |
| cat result.md >> $GITHUB_STEP_SUMMARY | |
| e2e-go-test: | |
| if: ${{ success() }} | |
| name: GO E2E Test | |
| needs: [docker, deploy] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| mode: ["cluster","standalone"] | |
| version: ${{ fromJSON(needs.docker.outputs.version-json) }} | |
| steps: | |
| - uses: apache/rocketmq-test-tool@java-dev | |
| name: go e2e test | |
| with: | |
| yamlString: | | |
| action: test | |
| namespace: nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| askConfig: ${{ secrets.ASK_CONFIG_VIRGINA }} | |
| API_VERSION: v1 | |
| KIND: Pod | |
| RESTART_POLICY: Never | |
| ENV: | |
| WAIT_TIME: 900 | |
| REPO_NAME: ${{ env.TEST_REPO_NAME }} | |
| CODE: https://github.com/${{ env.TEST_REPO_NAME }} | |
| BRANCH: main | |
| CODE_PATH: golang | |
| CMD: | | |
| cd /root/code/golang && go mod init nacos_go_test && go mod tidy | |
| gotestsum --junitfile ./target/surefire-reports/TEST-report.xml ./nacosgotest | |
| ALL_IP: null | |
| CONTAINER: | |
| IMAGE: cloudnativeofalibabacloud/test-runner:v0.0.4 | |
| RESOURCE_LIMITS: | |
| cpu: 2 | |
| memory: 2Gi | |
| RESOURCE_REQUIRE: | |
| cpu: 2 | |
| memory: 2Gi | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| name: Upload test log | |
| with: | |
| name: testlog-${{ matrix.mode }}-go.txt | |
| path: testlog.txt | |
| - name: add markdown | |
| if: always() | |
| run: | | |
| cat result.md >> $GITHUB_STEP_SUMMARY | |
| e2e-cpp-test: | |
| if: ${{ success() }} | |
| name: Cpp E2E Test | |
| needs: [docker, deploy] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| mode: ["cluster","standalone"] | |
| version: ${{ fromJSON(needs.docker.outputs.version-json) }} | |
| steps: | |
| - uses: apache/rocketmq-test-tool@java-dev | |
| name: cpp e2e test | |
| with: | |
| yamlString: | | |
| action: test | |
| namespace: nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| askConfig: ${{ secrets.ASK_CONFIG_VIRGINA }} | |
| API_VERSION: v1 | |
| KIND: Pod | |
| RESTART_POLICY: Never | |
| ENV: | |
| WAIT_TIME: 900 | |
| REPO_NAME: ${{ env.TEST_REPO_NAME }} | |
| CODE: https://github.com/${{ env.TEST_REPO_NAME }} | |
| BRANCH: main | |
| CODE_PATH: cpp | |
| CMD: | | |
| yum-config-manager remove centos-sclo-rh | |
| cd /root/code/cpp && make install | |
| echo "export LD_LIBRARY_PATH=/usr/local/lib" >> ~/.bashrc && source ~/.bashrc | |
| cd /root/code/cpp/nacoscpptest | |
| g++ nacos_test.cpp -o nacos_test -lgtest -lpthread -I/usr/local/include/nacos/ -L/usr/local/lib/ -lnacos-cli | |
| chmod 777 nacos_test && ./nacos_test --gtest_output="xml:../target/surefire-reports/TEST-gtestresults.xml" | |
| ALL_IP: null | |
| CONTAINER: | |
| IMAGE: cloudnativeofalibabacloud/test-runner:v0.0.4 | |
| RESOURCE_LIMITS: | |
| cpu: 2 | |
| memory: 2Gi | |
| RESOURCE_REQUIRE: | |
| cpu: 2 | |
| memory: 2Gi | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| name: Upload test log | |
| with: | |
| name: testlog-${{ matrix.mode }}-cpp.txt | |
| path: testlog.txt | |
| - name: add markdown | |
| if: always() | |
| run: | | |
| cat result.md >> $GITHUB_STEP_SUMMARY | |
| e2e-csharp-test: | |
| if: ${{ success() }} | |
| name: Csharp E2E Test | |
| needs: [docker, deploy] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| mode: ["cluster","standalone"] | |
| version: ${{ fromJSON(needs.docker.outputs.version-json) }} | |
| steps: | |
| - uses: apache/rocketmq-test-tool@java-dev | |
| name: csharp e2e test | |
| with: | |
| yamlString: | | |
| action: test | |
| namespace: nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| askConfig: ${{ secrets.ASK_CONFIG_VIRGINA }} | |
| API_VERSION: v1 | |
| KIND: Pod | |
| RESTART_POLICY: Never | |
| ENV: | |
| WAIT_TIME: 900 | |
| REPO_NAME: ${{ env.TEST_REPO_NAME }} | |
| CODE: https://github.com/${{ env.TEST_REPO_NAME }} | |
| BRANCH: main | |
| CODE_PATH: csharp | |
| CMD: | | |
| rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm | |
| yum -y install dotnet-sdk-3.1 && yum -y install aspnetcore-runtime-7.0 | |
| cd /root/code/csharp/nacos-csharp-sdk-test && dotnet restore | |
| dotnet test --logger:"junit;LogFilePath=../target/surefire-reports/TEST-result.xml" | |
| ALL_IP: null | |
| CONTAINER: | |
| IMAGE: cloudnativeofalibabacloud/test-runner:v0.0.4 | |
| RESOURCE_LIMITS: | |
| cpu: 2 | |
| memory: 2Gi | |
| RESOURCE_REQUIRE: | |
| cpu: 2 | |
| memory: 2Gi | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| name: Upload test log | |
| with: | |
| name: testlog-${{ matrix.mode }}-csharp.txt | |
| path: testlog.txt | |
| - name: add markdown | |
| if: always() | |
| run: | | |
| cat result.md >> $GITHUB_STEP_SUMMARY | |
| e2e-nodejs-test: | |
| if: ${{ success() }} | |
| name: Nodejs E2E Test | |
| needs: [docker, deploy] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| mode: ["cluster","standalone"] | |
| version: ${{ fromJSON(needs.docker.outputs.version-json) }} | |
| steps: | |
| - uses: apache/rocketmq-test-tool@java-dev | |
| name: nodejs e2e test | |
| with: | |
| yamlString: | | |
| action: test | |
| namespace: nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| askConfig: ${{ secrets.ASK_CONFIG_VIRGINA }} | |
| API_VERSION: v1 | |
| KIND: Pod | |
| RESTART_POLICY: Never | |
| ENV: | |
| WAIT_TIME: 900 | |
| REPO_NAME: ${{ env.TEST_REPO_NAME }} | |
| CODE: https://github.com/${{ env.TEST_REPO_NAME }} | |
| BRANCH: main | |
| CODE_PATH: nodejs | |
| CMD: | | |
| cd /root/code/nodejs/nacosnodejstest && npm install | |
| mocha test --reporter mocha-junit-reporter --reporter-options mochaFile=../target/surefire-reports/TEST-report.xml | |
| ALL_IP: null | |
| CONTAINER: | |
| IMAGE: cloudnativeofalibabacloud/test-runner:v0.0.4 | |
| RESOURCE_LIMITS: | |
| cpu: 2 | |
| memory: 2Gi | |
| RESOURCE_REQUIRE: | |
| cpu: 2 | |
| memory: 2Gi | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| name: Upload test log | |
| with: | |
| name: testlog-${{ matrix.mode }}-nodejs.txt | |
| path: testlog.txt | |
| - name: add markdown | |
| if: always() | |
| run: | | |
| cat result.md >> $GITHUB_STEP_SUMMARY | |
| e2e-python-test: | |
| if: ${{ success() }} | |
| name: Python E2E Test | |
| needs: [docker, deploy] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| mode: ["cluster","standalone"] | |
| version: ${{ fromJSON(needs.docker.outputs.version-json) }} | |
| steps: | |
| - uses: apache/rocketmq-test-tool@java-dev | |
| name: python e2e test | |
| with: | |
| yamlString: | | |
| action: test | |
| namespace: nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| askConfig: ${{ secrets.ASK_CONFIG_VIRGINA }} | |
| API_VERSION: v1 | |
| KIND: Pod | |
| RESTART_POLICY: Never | |
| ENV: | |
| WAIT_TIME: 900 | |
| REPO_NAME: ${{ env.TEST_REPO_NAME }} | |
| CODE: https://github.com/${{ env.TEST_REPO_NAME }} | |
| BRANCH: main | |
| CODE_PATH: python | |
| CMD: | | |
| cd /root/code/python | |
| pip3 install -r requirements.txt | |
| source ~/.bashrc | |
| cd nacospythontest && pytest --junitxml ../target/surefire-reports/TEST-report.xml test/*_test.py --log-cli-level=DEBUG | |
| ALL_IP: null | |
| CONTAINER: | |
| IMAGE: cloudnativeofalibabacloud/test-runner:v0.0.4 | |
| RESOURCE_LIMITS: | |
| cpu: 2 | |
| memory: 2Gi | |
| RESOURCE_REQUIRE: | |
| cpu: 2 | |
| memory: 2Gi | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| name: Upload test log | |
| with: | |
| name: testlog-${{ matrix.mode }}-python.txt | |
| path: testlog.txt | |
| - name: add markdown | |
| if: always() | |
| run: | | |
| cat result.md >> $GITHUB_STEP_SUMMARY | |
| clean: | |
| if: ${{ always() }} | |
| name: Clean | |
| needs: [docker, e2e-java-test, e2e-go-test, e2e-cpp-test, e2e-csharp-test, e2e-nodejs-test, e2e-python-test] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| mode: ["cluster","standalone","standalone_auth"] | |
| version: ${{ fromJSON(needs.docker.outputs.version-json) }} | |
| steps: | |
| - uses: apache/rocketmq-test-tool@java-dev | |
| name: clean | |
| with: | |
| yamlString: | | |
| action: clean | |
| namespace: nacos-${{ github.run_id }}-${{ strategy.job-index }} | |
| askConfig: ${{ secrets.ASK_CONFIG_VIRGINA }} | |
| write-comment: | |
| if: ${{ always() }} | |
| name: write comment to pr | |
| needs: [docker, deploy, e2e-java-test, e2e-go-test, e2e-cpp-test, e2e-csharp-test, e2e-nodejs-test, e2e-python-test, clean] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - name: 'Download artifact' | |
| uses: actions/github-script@v6 | |
| with: | |
| script: | | |
| let artifacts = await github.rest.actions.listWorkflowRunArtifacts({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| run_id: ${{ github.event.workflow_run.id }}, | |
| }); | |
| let matchArtifactPR = artifacts.data.artifacts.filter((artifact) => { | |
| return artifact.name == "pr" | |
| })[0]; | |
| let download = await github.rest.actions.downloadArtifact({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| artifact_id: matchArtifactPR.id, | |
| archive_format: 'zip', | |
| }); | |
| var fs = require('fs'); | |
| fs.writeFileSync('${{github.workspace}}/pr.zip', Buffer.from(download.data)); | |
| - name: unzip pr | |
| run: | | |
| unzip pr.zip | |
| cat pr.txt | |
| pr_number=`cat pr.txt` | |
| echo "PR_NUMBER=${pr_number}" >> $GITHUB_ENV | |
| - name: write issue comment | |
| run: | | |
| echo ${{ env.PR_NUMBER }} | |
| job_status="" | |
| if [ ${{ needs.docker.result }} = 'success' ] && [ ${{ needs.deploy.result }} = 'success' ] && [ ${{ needs.e2e-java-test.result }} = 'success' ] && [ ${{ needs.e2e-go-test.result }} = 'success' ] && [ ${{ needs.e2e-cpp-test.result }} = 'success' ] && [ ${{ needs.e2e-csharp-test.result }} = 'success' ] && [ ${{ needs.e2e-nodejs-test.result }} = 'success' ] && [ ${{ needs.e2e-python-test.result }} = 'success' ]; then | |
| jobs_status='$\\color{green}{SUCCESS}$' | |
| jobs_status+="\n[DETAILS](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${{ github.run_id }})" | |
| else | |
| jobs_status='$\\color{red}{FAILURE}$' | |
| jobs_status+="\n[DETAILS](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${{ github.run_id }})" | |
| fi | |
| echo ${jobs_status} | |
| markdown_content="${jobs_status}" | |
| generate_content() { | |
| if [ $1 = "success" ];then | |
| echo "\n ✅ $2 $1 " | |
| else | |
| echo "\n ❌ $2 $1 " | |
| fi | |
| } | |
| markdown_content+=$(generate_content ${{ needs.docker.result }} "- docker: ") | |
| markdown_content+=$(generate_content ${{ needs.deploy.result }} "- deploy (standalone & cluster & standalone_auth): ") | |
| markdown_content+=$(generate_content ${{ needs.e2e-java-test.result }} "- e2e-java-test (standalone & cluster & standalone_auth): ") | |
| markdown_content+=$(generate_content ${{ needs.e2e-go-test.result }} "- e2e-go-test (standalone & cluster): ") | |
| markdown_content+=$(generate_content ${{ needs.e2e-cpp-test.result }} "- e2e-cpp-test (standalone & cluster): ") | |
| markdown_content+=$(generate_content ${{ needs.e2e-csharp-test.result }} "- e2e-csharp-test (standalone & cluster): ") | |
| markdown_content+=$(generate_content ${{ needs.e2e-nodejs-test.result }} "- e2e-nodejs-test (standalone & cluster): ") | |
| markdown_content+=$(generate_content ${{ needs.e2e-python-test.result }} "- e2e-python-test (standalone & cluster): ") | |
| markdown_content+=$(generate_content ${{ needs.clean.result }} "- clean (standalone & cluster & standalone_auth): ") | |
| echo "markdown_content: \n ${markdown_content}" | |
| payload=`echo "{\"body\": \"${markdown_content}\"}" | jq .` | |
| curl -L -X POST ${{ env.HEADER_PARAMS_WRITE_COMMENT }} ${{ env.BASE_URL_NACOS }}/issues/${{ env.PR_NUMBER }}/comments -d "${payload}" |