diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b690070 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,67 @@ +name: CI + +on: + push: + branches: [master] + pull_request: + branches: [master] + +permissions: + contents: read + +jobs: + test: + name: nginx 1.31.4 + runs-on: ubuntu-22.04 + timeout-minutes: 45 + + steps: + - name: Checkout + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + + - name: Install system dependencies + run: | + sudo apt-get update + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + build-essential \ + ca-certificates \ + cpanminus \ + git \ + wget + + - name: Build and test + env: + CC: gcc + NGINX_VERSION: 1.31.4 + run: | + set -e + mkdir -p download-cache + export JOBS=3 + export LUAJIT_PREFIX=/opt/luajit21 + export LUAJIT_LIB=$LUAJIT_PREFIX/lib + export LUAJIT_INC=$LUAJIT_PREFIX/include/luajit-2.1 + export LD_LIBRARY_PATH=$LUAJIT_LIB:$LD_LIBRARY_PATH + sudo apt-get install -qq -y cpanminus libgd-dev ca-certificates + sudo cpanm -v --notest Test::Nginx > build.log 2>&1 || (cat build.log && exit 1) + wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && tar -xzf nginx-${NGINX_VERSION}.tar.gz + git clone https://github.com/simpl/ngx_devel_kit.git ../ngx_devel_kit + git clone https://github.com/openresty/set-misc-nginx-module.git ../set-misc-nginx-module + git clone https://github.com/openresty/xss-nginx-module.git ../xss-nginx-module + git clone https://github.com/openresty/rds-json-nginx-module.git ../rds-json-nginx-module + git clone https://github.com/openresty/headers-more-nginx-module.git ../headers-more-nginx-module + git clone https://github.com/openresty/lua-nginx-module.git ../lua-nginx-module + git clone https://github.com/openresty/openresty.git ../openresty + git clone https://github.com/openresty/lua-resty-core.git ../lua-resty-core + git clone https://github.com/openresty/lua-resty-lrucache.git ../lua-resty-lrucache + git clone https://github.com/openresty/nginx-eval-module.git ../nginx-eval-module + git clone -b v2.1-agentzh https://github.com/openresty/luajit2.git ../luajit2 + cd ../luajit2/ + make -j$JOBS CCDEBUG=-g Q= PREFIX=$LUAJIT_PREFIX CC=$CC XCFLAGS='-DLUA_USE_APICHECK -DLUA_USE_ASSERT -msse4.2' > build.log 2>&1 || (cat build.log && exit 1) + sudo make install PREFIX=$LUAJIT_PREFIX > build.log 2>&1 || (cat build.log && exit 1) + cd ../echo-nginx-module + cd nginx-${NGINX_VERSION}/ + ./configure --without-pcre2 --without-http_ssi_module --with-debug --with-select_module --with-poll_module --with-http_stub_status_module --with-http_image_filter_module --add-module=../../ngx_devel_kit --add-module=../../set-misc-nginx-module --add-module=../../nginx-eval-module --add-module=../../xss-nginx-module --add-module=../../rds-json-nginx-module --add-module=../../headers-more-nginx-module --add-module=../../lua-nginx-module --add-module=.. > build.log 2>&1 || (cat build.log && exit 1) + make -j2 > build.log 2>&1 || (cat build.log && exit 1) + export PATH=`pwd`/objs:$PATH + cd .. + prove -I. -r t diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e52a86a..0000000 --- a/.travis.yml +++ /dev/null @@ -1,52 +0,0 @@ -sudo: required -dist: focal - -branches: - only: - - "master" - -os: linux - -language: c - -compiler: - - gcc - -env: - global: - - LUAJIT_PREFIX=/opt/luajit21 - - LUAJIT_LIB=$LUAJIT_PREFIX/lib - - LUAJIT_INC=$LUAJIT_PREFIX/include/luajit-2.1 - - LD_LIBRARY_PATH=$LUAJIT_LIB:$LD_LIBRARY_PATH - matrix: - - NGINX_VERSION=1.31.3 - -before_install: - - sudo apt-get install -qq -y cpanminus libgd-dev ca-certificates - - sudo cpanm -v --notest Test::Nginx > build.log 2>&1 || (cat build.log && exit 1) - -install: - - wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && tar -xzf nginx-${NGINX_VERSION}.tar.gz - - git clone https://github.com/simpl/ngx_devel_kit.git ../ngx_devel_kit - - git clone https://github.com/openresty/set-misc-nginx-module.git ../set-misc-nginx-module - - git clone https://github.com/openresty/xss-nginx-module.git ../xss-nginx-module - - git clone https://github.com/openresty/rds-json-nginx-module.git ../rds-json-nginx-module - - git clone https://github.com/openresty/headers-more-nginx-module.git ../headers-more-nginx-module - - git clone https://github.com/openresty/lua-nginx-module.git ../lua-nginx-module - - git clone https://github.com/openresty/openresty.git ../openresty - - git clone https://github.com/openresty/lua-resty-core.git ../lua-resty-core - - git clone https://github.com/openresty/lua-resty-lrucache.git ../lua-resty-lrucache - - git clone https://github.com/openresty/nginx-eval-module.git ../nginx-eval-module - - git clone -b v2.1-agentzh https://github.com/openresty/luajit2.git ../luajit2 - -script: - - cd ../luajit2/ - - make -j$JOBS CCDEBUG=-g Q= PREFIX=$LUAJIT_PREFIX CC=$CC XCFLAGS='-DLUA_USE_APICHECK -DLUA_USE_ASSERT -msse4.2' > build.log 2>&1 || (cat build.log && exit 1) - - sudo make install PREFIX=$LUAJIT_PREFIX > build.log 2>&1 || (cat build.log && exit 1) - - cd ../echo-nginx-module - - cd nginx-${NGINX_VERSION}/ - - ./configure --without-pcre2 --without-http_ssi_module --with-debug --with-select_module --with-poll_module --with-http_stub_status_module --with-http_image_filter_module --add-module=../../ngx_devel_kit --add-module=../../set-misc-nginx-module --add-module=../../nginx-eval-module --add-module=../../xss-nginx-module --add-module=../../rds-json-nginx-module --add-module=../../headers-more-nginx-module --add-module=../../lua-nginx-module --add-module=.. > build.log 2>&1 || (cat build.log && exit 1) - - make -j2 > build.log 2>&1 || (cat build.log && exit 1) - - export PATH=`pwd`/objs:$PATH - - cd .. - - prove -I. -r t