mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-10-13 07:13:21 -04:00
Nothing links or dlopens libvlc any more, so the dev package is no longer a build requirement anywhere: the debian, beowulf, ubuntu and split-package control files, the podman Containerfile, the redhat and opensuse specs, the centos CI image, and the five workflows that installed libvlc-dev. The redhat spec also required vlc-core at runtime, which was the dlopen target. Documentation follows: the libVLC source tab section, the macos note about libVLC not being found, and the WEB_FILTER_SOURCE source-type list. Two stale statements nearby are corrected while the files are open. The Remote source tab still said its RTSP method "may be removed in the future"; it was removed earlier on this branch. AGENTS.md still listed RemoteCameraRTSP and LibVLCCamera among the camera classes, both of which are now gone. All workflow yaml parses, the three edited rst files render, and the debian control field structure is unchanged apart from the removed entries. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015Y6FieTwEXuLhhR4e2yiax
66 lines
2.2 KiB
YAML
66 lines
2.2 KiB
YAML
name: CI C++ Tests
|
|
|
|
# Builds the Catch2 suite and runs it. Nothing else in CI does: the packaging
|
|
# workflows and the -Werror job all configure with BUILD_TEST_SUITE off, so
|
|
# tests/ could stop compiling and no job would notice.
|
|
#
|
|
# Pinned to ubuntu-24.04 rather than ubuntu-latest because the suite needs
|
|
# Catch2 v3, which is what noble packages. An older image ships v2, where the
|
|
# v3 spellings the tests use (catch2/catch_all.hpp, Catch::Approx,
|
|
# Catch2::Catch2WithMain) do not exist.
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- '*'
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
cpp-tests:
|
|
name: Catch2 suite (gcc, Debug)
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install build dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y --no-install-recommends \
|
|
build-essential cmake pkg-config gcc-multilib g++-multilib \
|
|
catch2 \
|
|
libavcodec-dev libavformat-dev libavutil-dev libavdevice-dev \
|
|
libswresample-dev libswscale-dev \
|
|
default-libmysqlclient-dev \
|
|
libbz2-dev libcurl4-openssl-dev libjpeg-dev libturbojpeg0-dev \
|
|
libpcre2-dev libpolkit-gobject-1-dev libssl-dev zlib1g-dev \
|
|
libv4l-dev libvncserver-dev \
|
|
libmosquitto-dev libmosquittopp-dev \
|
|
gsoap libgsoap-dev
|
|
|
|
- name: Configure
|
|
run: |
|
|
cmake -S . -B build \
|
|
-DCMAKE_BUILD_TYPE=Debug \
|
|
-DBUILD_TEST_SUITE=ON \
|
|
-DBUILD_MAN=0
|
|
|
|
- name: Build
|
|
run: cmake --build build --target tests -j"$(nproc)"
|
|
|
|
# Run the binary rather than ctest. Two reasons: the [notCI] tag marks the
|
|
# cases that need a reachable database or a listening socket, and
|
|
# catch_discover_tests does not carry Catch2 tags through as ctest labels,
|
|
# so ctest has no way to skip them. And zm_font.cpp loads its fixtures by
|
|
# relative path, so the working directory has to be the one the build
|
|
# copied tests/data into.
|
|
- name: Run the tests
|
|
working-directory: build/tests
|
|
run: ./tests "~[notCI]"
|