| name: CI Linux |
| |
| on: |
| push: |
| branches: [ master ] |
| pull_request: |
| branches: [ master ] |
| |
| jobs: |
| build: |
| strategy: |
| fail-fast: false |
| matrix: |
| platform: |
| - ubuntu-18.04 |
| os_name: |
| - linux_openresty |
| - linux_tengine |
| - linux_apisix_master_luarocks |
| - linux_apisix_current_luarocks |
| - linux_openresty_mtls |
| |
| runs-on: ${{ matrix.platform }} |
| env: |
| SERVER_NAME: ${{ matrix.os_name }} |
| |
| |
| 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 |
| |
| - name: Linux Get dependencies |
| run: sudo apt install -y cpanminus build-essential libncurses5-dev libreadline-dev libssl-dev perl |
| |
| - name: Linux Before install |
| run: sudo ./.travis/${{ matrix.os_name }}_runner.sh before_install |
| |
| - name: Install Redis Cluster |
| if: matrix.os_name == 'linux_openresty' |
| uses: vishnudxb/redis-cluster@1.0.5 |
| with: |
| master1-port: 5000 |
| master2-port: 5001 |
| master3-port: 5002 |
| slave1-port: 5003 |
| slave2-port: 5004 |
| slave3-port: 5005 |
| |
| - name: Running Redis Cluster Test |
| if: matrix.os_name == 'linux_openresty' |
| 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 |
| if: matrix.os_name == 'linux_openresty' |
| 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 ${{ github.workspace }}/t/certs:/certs \ |
| bitnami/etcd:3.4.0 |
| |
| - name: Linux Install |
| run: sudo ./.travis/${{ matrix.os_name }}_runner.sh do_install |
| |
| - name: Linux Script |
| run: sudo ./.travis/${{ matrix.os_name }}_runner.sh script |