49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
name: Ubuntu build
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
|
|
jobs:
|
|
build-module:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y cmake libc-ares-dev
|
|
- name: Checkout nginx
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: nginx/nginx
|
|
path: nginx
|
|
- name: Build nginx
|
|
working-directory: nginx
|
|
run: |
|
|
auto/configure --with-compat --with-debug --with-http_ssl_module \
|
|
--with-http_v2_module --with-http_v3_module
|
|
make -j $(nproc)
|
|
- name: Build module
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake -DNGX_OTEL_NGINX_BUILD_DIR=${PWD}/../nginx/objs \
|
|
-DNGX_OTEL_DEV=ON ..
|
|
make -j $(nproc)
|
|
- name: Download otelcol
|
|
run: |
|
|
LATEST=open-telemetry/opentelemetry-collector-releases/releases/latest
|
|
TAG=$(curl -s https://api.github.com/repos/${LATEST} |
|
|
jq -r .tag_name)
|
|
curl -sLo - https://github.com/${LATEST}/download/\
|
|
otelcol_${TAG:1}_linux_amd64.tar.gz | tar -xzv
|
|
- name: Install test dependencies
|
|
run: pip install -r tests/requirements.txt
|
|
- name: Run tests
|
|
run: |
|
|
pytest tests --maxfail=10 --nginx=nginx/objs/nginx \
|
|
--module=build/ngx_otel_module.so --otelcol=./otelcol
|