Added NGINX Buildsystem github action test.
This commit is contained in:
parent
1a43ddc6f1
commit
21723814ac
1 changed files with 81 additions and 0 deletions
81
.github/workflows/nginx-buildsystem.yml
vendored
Normal file
81
.github/workflows/nginx-buildsystem.yml
vendored
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
name: NGINX Build System (Alpine-based)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
build-module:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: jirutka/setup-alpine@v1
|
||||
with:
|
||||
branch: v3.19
|
||||
packages: >
|
||||
cmake
|
||||
g++
|
||||
re2-dev
|
||||
c-ares-dev
|
||||
grpc-dev
|
||||
git
|
||||
protoc
|
||||
make
|
||||
protobuf-dev
|
||||
perl-io-socket-ssl
|
||||
perl-cryptx
|
||||
openssl
|
||||
pcre2-dev
|
||||
- name: Clone dependencies
|
||||
run: |
|
||||
git clone https://github.com/nginx/nginx
|
||||
git clone https://github.com/nginx/nginx-tests
|
||||
git clone https://github.com/open-telemetry/opentelemetry-cpp
|
||||
git clone https://github.com/open-telemetry/opentelemetry-proto
|
||||
shell: alpine.sh {0}
|
||||
- name: Build dependencies
|
||||
working-directory: opentelemetry-cpp
|
||||
run: |
|
||||
cmake \
|
||||
-DCMAKE_CXX_EXTENSIONS=OFF \
|
||||
-DCMAKE_CXX_VISIBILITY_PRESET=hidden \
|
||||
-DCMAKE_POLICY_DEFAULT_CMP0063=NEW \
|
||||
-DCMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/prebuilt/ \
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=$GITHUB_WORKSPACE/prebuilt/ \
|
||||
-DCMAKE_INSTALL_LIBDIR:STRING=lib \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||
-DBUILD_TESTING=OFF \
|
||||
-DWITH_ABSEIL=ON \
|
||||
-DWITH_BENCHMARK=OFF \
|
||||
-DWITH_EXAMPLES=OFF \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
. && make -j $(nproc) install
|
||||
shell: alpine.sh {0}
|
||||
- name: Build module
|
||||
working-directory: nginx
|
||||
run: |
|
||||
NGX_OTEL_PROTO_DIR=$GITHUB_WORKSPACE/opentelemetry-proto/ \
|
||||
CMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/prebuilt \
|
||||
./auto/configure --add-dynamic-module=$GITHUB_WORKSPACE/ \
|
||||
--with-compat \
|
||||
&& make -j $(nproc) modules
|
||||
shell: alpine.sh {0}
|
||||
- name: Build nginx
|
||||
working-directory: nginx
|
||||
run: |
|
||||
make -j $(nproc)
|
||||
shell: alpine.sh {0}
|
||||
- name: Download otelcol
|
||||
run: |
|
||||
curl -LO https://github.com/\
|
||||
open-telemetry/opentelemetry-collector-releases/releases/download/\
|
||||
v0.76.1/otelcol_0.76.1_linux_amd64.tar.gz
|
||||
tar -xzf otelcol_0.76.1_linux_amd64.tar.gz
|
||||
shell: alpine.sh {0}
|
||||
- name: Run tests
|
||||
working-directory: nginx-tests
|
||||
run: |
|
||||
PERL5LIB=$GITHUB_WORKSPACE/nginx-tests/lib TEST_NGINX_UNSAFE=1 \
|
||||
TEST_NGINX_VERBOSE=1 TEST_NGINX_GLOBALS="load_module \
|
||||
${GITHUB_WORKSPACE}/nginx/objs/ngx_otel_module.so;" prove -v .
|
||||
shell: alpine.sh {0}
|
||||
Loading…
Add table
Add a link
Reference in a new issue