fix: test #410
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 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 | ||
# ACTIONS_ALLOW_UNSECURE_COMMANDS: true | ||
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: ["8"] | ||
outputs: | ||
version-json: ${{ steps.show_versions.outputs.version-json }} | ||
steps: | ||
- name: 'Download artifact' | ||
uses: actions/github-script@v3.1.0 | ||
with: | ||
script: | | ||
var artifacts = await github.actions.listWorkflowRunArtifacts({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
run_id: ${{ github.event.workflow_run.id }}, | ||
}); | ||
var matchArtifactNacos = artifacts.data.artifacts.filter((artifact) => { | ||
return artifact.name == "nacos" | ||
})[0]; | ||
var download = await github.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://ghproxy.com/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@v3 | ||
# 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@v3 | ||
# 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@v3 | ||
# 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@v3 | ||
# 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@v3 | ||
# 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@v3 | ||
# 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@v3.1.0 | ||
with: | ||
script: | | ||
var artifacts = await github.actions.listWorkflowRunArtifacts({ | ||
owner: context.repo.owner, | ||
repo: context.repo.repo, | ||
run_id: ${{ github.event.workflow_run.id }}, | ||
}); | ||
var matchArtifactPR = artifacts.data.artifacts.filter((artifact) => { | ||
return artifact.name == "pr" | ||
})[0]; | ||
var download = await github.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)); | ||
- run: | | ||
ls | ||
unzip pr.zip | ||
cat pr.txt | ||
ls pr | ||
pr_number=`cat pr.txt` | ||
echo "PR_NUMBER=${pr_number}" >> $GITHUB_ENV | ||
echo ${{ env.PR_NUMBER }} | ||
- name: write issue comment | ||
run: | | ||
echo ${{ env.PR_NUMBER }} | ||
number=${{ 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 DELETE ${{ env.HEADER_PARAMS }} ${{ env.BASE_URL_ROBOT }}/actions/variables/VAR_${{ github.event.workflow_run.id }} | ||
curl -L -X POST ${{ env.HEADER_PARAMS_WRITE_COMMENT }} ${{ env.BASE_URL_NACOS }}/issues/${number}/comments -d "${payload}" |