diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..3c0ff30 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,53 @@ +--- +name: "ci" + +# yamllint disable-line rule:truthy +on: + pull_request: + branches: + - master + - main + push: + branches: + - master + - main + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Run shellcheck + run: make test + + build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Download source tarballs + run: | + source "$GITHUB_WORKSPACE/conf/nginx-configure-flags" + cd /tmp + curl -sSL "https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz" | tar xz + curl -sSL "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-${PCRE_VERSION}/pcre2-${PCRE_VERSION}.tar.gz" | tar xz + curl -sSL "https://github.com/madler/zlib/archive/v${ZLIB_VERSION}.tar.gz" | tar xz + + - name: Compile nginx + run: | + source "$GITHUB_WORKSPACE/conf/nginx-configure-flags" + cd /tmp/nginx-${NGINX_VERSION} + ./configure \ + --prefix=/tmp/nginx-build \ + --with-pcre=../pcre2-${PCRE_VERSION} \ + --with-zlib=../zlib-${ZLIB_VERSION} \ + "${NGINX_CONFIGURE_FLAGS[@]}" + sed -i "/CFLAGS/s/ \-O //g" objs/Makefile + make -j"$(nproc)" + + - name: Verify nginx binary + run: | + /tmp/nginx-build/nginx -V