moonming commented on a change in pull request #3061:
URL: https://github.com/apache/apisix/pull/3061#discussion_r548553418



##########
File path: .github/workflows/centos7.yml
##########
@@ -0,0 +1,109 @@
+name: test_apisix_on_centos7
+
+on:
+  push:
+    branches:
+      - master
+  pull_request:
+    branches:
+      - master
+
+jobs:
+  test_apisix:
+    name: test_apisix_on_centos7
+    runs-on: ubuntu-latest
+
+    services:
+      etcd:
+        image: bitnami/etcd:3.4.0
+        ports:
+          - 2379:2379
+          - 2380:2380
+        env:
+          ALLOW_NONE_AUTHENTICATION: yes
+          ETCD_ADVERTISE_CLIENT_URLS: http://0.0.0.0:2379
+
+      old_etcd:
+        image: bitnami/etcd:3.3.8
+        ports:
+          - 3379:2379
+          - 3380:2380
+        env:
+          ALLOW_NONE_AUTHENTICATION: yes
+          ETCD_ADVERTISE_CLIENT_URLS: http://0.0.0.0:2379
+
+    steps:
+    - name: Check out code
+      uses: actions/checkout@v2
+      with:
+        submodules: recursive
+
+    - name: Install Redis Cluster
+      uses: vishnudxb/[email protected]
+      with:
+        master1-port: 5000
+        master2-port: 5001
+        master3-port: 5002
+        slave1-port: 5003
+        slave2-port: 5004
+        slave3-port: 5005
+
+    - name: Running Redis Cluster Test
+      run: |
+        sudo apt-get install -y redis-tools
+        docker ps -a
+        redis-cli -h 127.0.0.1 -p 5000 ping
+        redis-cli -h 127.0.0.1 -p 5000 cluster nodes
+
+    - name: Running etcd server with TLS
+      run: |
+        sudo docker run -d -p 12379:12379 -p 12380:12380 \
+        -e ALLOW_NONE_AUTHENTICATION=yes \
+        -e ETCD_ADVERTISE_CLIENT_URLS=https://0.0.0.0:12379 \
+        -e ETCD_LISTEN_CLIENT_URLS=https://0.0.0.0:12379 \
+        -e ETCD_CERT_FILE=/certs/etcd.pem \
+        -e ETCD_KEY_FILE=/certs/etcd.key \
+        -e GITHUB_ACTIONS=true \
+        -e CI=true \
+        -v /home/runner/work/apisix/apisix/t/certs:/certs \
+        bitnami/etcd:3.4.0
+
+    - name: run centos7 docker and mapping apisix into container
+      run: |
+        docker run -itd -v /home/runner/work/apisix/apisix:/tmp/apisix --name 
centos7Instance --net="host" docker.io/centos:7 /bin/bash
+
+    - name: run other docker containers for test
+      run: |
+        docker run --rm -itd -p 6379:6379 --name apisix_redis redis:3.0-alpine
+        docker run --rm -itd -e HTTP_PORT=8888 -e HTTPS_PORT=9999 -p 8888:8888 
-p 9999:9999 mendhak/http-https-echo
+        docker run --rm -itd -e KEYCLOAK_USER=admin -e 
KEYCLOAK_PASSWORD=123456 -p 8090:8080 -p 8443:8443 sshniro/keycloak-apisix
+        docker network create kafka-net --driver bridge
+        docker run --name zookeeper-server -d -p 2181:2181 --network kafka-net 
-e ALLOW_ANONYMOUS_LOGIN=yes bitnami/zookeeper:3.6.0
+        docker run --name kafka-server1 -d --network kafka-net -e 
ALLOW_PLAINTEXT_LISTENER=yes -e 
KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 -e 
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 -p 9092:9092 -e 
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true bitnami/kafka:latest
+        docker run --name eureka -d -p 8761:8761 --env ENVIRONMENT=apisix 
--env spring.application.name=apisix-eureka --env server.port=8761 --env 
eureka.instance.ip-address=127.0.0.1 --env 
eureka.client.registerWithEureka=true --env eureka.client.fetchRegistry=false 
--env eureka.client.serviceUrl.defaultZone=http://127.0.0.1:8761/eureka/ 
bitinit/eureka
+        sleep 5
+        docker exec -i kafka-server1 /opt/bitnami/kafka/bin/kafka-topics.sh 
--create --zookeeper zookeeper-server:2181 --replication-factor 1 --partitions 
1 --topic test2
+        docker run --rm --name skywalking -d -p 1234:1234 -p 11800:11800 -p 
12800:12800 apache/skywalking-oap-server
+
+    - name: install dependencies
+      run: |
+        docker exec centos7Instance bash -c "yum install -y wget tar gcc 
automake autoconf libtool make && wget 
http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && rpm 
-ivh epel-release-latest-7.noarch.rpm"
+        docker exec centos7Instance bash -c "yum install -y curl git luarocks 
lua-devel which"
+        docker exec centos7Instance bash -c "yum install -y yum-utils && 
yum-config-manager --add-repo 
https://openresty.org/package/centos/openresty.repo";
+        docker exec centos7Instance bash -c "yum install -y openresty-debug"
+        docker exec centos7Instance bash -c "wget 
https://github.com/etcd-io/etcd/releases/download/v3.4.0/etcd-v3.4.0-linux-amd64.tar.gz
 && tar xf etcd-v3.4.0-linux-amd64.tar.gz"
+        docker exec centos7Instance bash -c "cp 
/etcd-v3.4.0-linux-amd64/etcdctl /usr/local/bin/ && rm -rf 
etcd-v3.4.0-linux-amd64"
+        docker exec centos7Instance bash -c "yum install -y cpanminus 
build-essential libncurses5-dev libreadline-dev libssl-dev perl"
+        docker exec centos7Instance bash -c "cp -r /tmp/apisix ./"
+        docker exec centos7Instance bash -c 
"PATH=/usr/local/openresty-debug/nginx/sbin:/usr/local/openresty-debug/bin:$PATH
 cpanm --notest Test::Nginx IPC::Run > build.log 2>&1 || (cat build.log && exit 
1)"
+        docker exec centos7Instance bash -c "mkdir build-cache && wget 
https://github.com/iresty/grpc_server_example/releases/download/20200901/grpc_server_example-amd64.tar.gz
 && tar -xvf grpc_server_example-amd64.tar.gz && mv grpc_server_example 
build-cache/"
+        docker exec centos7Instance bash -c "git clone 
https://github.com/iresty/grpc_server_example.git grpc_server_example && cd 
grpc_server_example/ && mv proto/ ../build-cache/"
+        docker exec centos7Instance bash -c "./build-cache/grpc_server_example 
> grpc_server_example.log 2>&1 || (cat grpc_server_example.log && exit 1)&"
+        sleep 3
+        docker exec centos7Instance bash -c "cd apisix && 
PATH=/usr/local/openresty-debug/nginx/sbin:/usr/local/openresty-debug/bin:$PATH 
make deps"
+        docker exec centos7Instance bash -c "cd apisix && 
PATH=/usr/local/openresty-debug/nginx/sbin:/usr/local/openresty-debug/bin:$PATH 
make init"
+        docker exec centos7Instance bash -c "cd apisix && git clone 
https://github.com/iresty/test-nginx.git test-nginx"

Review comment:
       too hard to read, why not in one shell file?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to