| name: Backend E2E Test |
| |
| on: |
| push: |
| branches: |
| - master |
| paths-ignore: |
| - 'docs/**' |
| - 'web/**' |
| pull_request: |
| branches: |
| - master |
| paths-ignore: |
| - 'docs/**' |
| - 'web/**' |
| |
| jobs: |
| backend-e2e-test: |
| runs-on: ubuntu-latest |
| |
| steps: |
| - uses: actions/checkout@v2 |
| |
| - name: setup go |
| uses: actions/setup-go@v2.1.3 |
| with: |
| go-version: "1.13" |
| |
| - name: Modify conf.yaml |
| run: | |
| sed -i 's/127.0.0.1:2379/172.16.238.10:2379/' ./api/conf/conf.yaml |
| sed -i 's/127.0.0.1/0.0.0.0/' ./api/conf/conf.yaml |
| sed -i '/172.16.238.10:2379/a\ - 172.16.238.11:2379' ./api/conf/conf.yaml |
| sed -i '/172.16.238.10:2379/a\ - 172.16.238.12:2379' ./api/conf/conf.yaml |
| sed -i 's@127.0.0.0/24@0.0.0.0/0@' ./api/conf/conf.yaml |
| sed -i 's@# - dubbo-proxy@- dubbo-proxy@' ./api/conf/conf.yaml |
| |
| - name: download file Dockerfile-apisix |
| working-directory: ./api/test/docker |
| run: | |
| curl -o Dockerfile-apisix https://raw.githubusercontent.com/apache/apisix-docker/master/alpine/Dockerfile |
| |
| - name: run docker compose |
| working-directory: ./api/test/docker |
| run: | |
| docker-compose up -d |
| sleep 5 |
| docker logs docker_managerapi_1 |
| |
| - name: run test |
| working-directory: ./api/test/e2e |
| run: go test -v |
| |
| - name: re-generate json schema |
| working-directory: ./api/ |
| run: | |
| curl 127.0.0.1:9090/v1/schema > ./conf/schema.json |
| |
| - name: stop docker compose |
| working-directory: ./api/test/docker |
| run: | |
| docker-compose down |
| sleep 10 |
| |
| - name: re-run docker compose |
| working-directory: ./api/test/docker |
| run: | |
| docker-compose up -d --build |
| sleep 5 |
| docker logs docker_managerapi_1 |
| |
| - name: run test for plugin skywalking |
| working-directory: ./api/test/e2e/skywalking |
| run: go test -v |
| |
| - name: output test coverage |
| working-directory: ./api/test/testdata |
| run: | |
| go tool cover -func=./integrationcover.out |
| |
| - name: upload coverage profile |
| working-directory: ./api/test/testdata |
| run: | |
| bash <(curl -s https://codecov.io/bash) -f ./integrationcover.out -F backend-e2e-test |
| |
| backend-e2e-test-ginkgo: |
| runs-on: ubuntu-latest |
| |
| steps: |
| - uses: actions/checkout@v2 |
| |
| - name: setup go |
| uses: actions/setup-go@v2.1.3 |
| with: |
| go-version: "1.13" |
| |
| - name: Modify conf.yaml Configure for use by the manage-api cluster |
| run: | |
| sed -i 's/127.0.0.1:2379/172.16.238.10:2379/' ./api/conf/conf.yaml |
| sed -i 's/127.0.0.1/0.0.0.0/' ./api/conf/conf.yaml |
| sed -i '/172.16.238.10:2379/a\ - 172.16.238.11:2379' ./api/conf/conf.yaml |
| sed -i '/172.16.238.10:2379/a\ - 172.16.238.12:2379' ./api/conf/conf.yaml |
| sed -i 's@127.0.0.0/24@0.0.0.0/0@' ./api/conf/conf.yaml |
| |
| - name: download file Dockerfile-apisix |
| working-directory: ./api/test/docker |
| run: | |
| curl -o Dockerfile-apisix https://raw.githubusercontent.com/apache/apisix-docker/master/alpine/Dockerfile |
| |
| - name: run docker compose |
| working-directory: ./api/test/docker |
| run: | |
| docker-compose up -d |
| sleep 5 |
| docker logs docker_managerapi_1 |
| |
| - name: install ginkgo cli |
| run: go get github.com/onsi/ginkgo/ginkgo |
| |
| - name: run test |
| working-directory: ./api/test/e2enew |
| run: ginkgo -r |
| |
| - name: stop docker compose |
| working-directory: ./api/test/docker |
| run: | |
| docker-compose down |
| sleep 10 |
| |
| - name: output test coverage |
| working-directory: ./api/test/testdata |
| run: | |
| go tool cover -func=./integrationcover.out |
| |
| - name: upload coverage profile |
| working-directory: ./api/test/testdata |
| run: | |
| bash <(curl -s https://codecov.io/bash) -f ./integrationcover.out -F backend-e2e-test-ginkgo |