From 0d1d2a450ef8287ec97fea25f1811b604c56abb7 Mon Sep 17 00:00:00 2001 From: Andres Cera Date: Mon, 15 Jun 2026 15:28:37 -0500 Subject: [PATCH 1/2] ci: add build check workflow (ON/OFF auto-detach, capability verification) --- .github/workflows/build.yml | 67 +++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..53665da --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,67 @@ +name: Build Check + +on: + push: + branches: ["main", "feat/**"] + pull_request: + branches: ["main"] + +jobs: + build: + name: Build (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-22.04, ubuntu-24.04] + + steps: + - uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update -qq + sudo apt-get install -y \ + build-essential cmake pkg-config \ + libusb-1.0-0-dev libjpeg-dev + + - name: Configure (auto-detach ON) + run: | + cmake -B build \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_EXAMPLE=OFF \ + -DBUILD_TEST=OFF \ + -DLIBUVC_AUTO_DETACH_KERNEL_DRIVER=ON + + - name: Build + run: cmake --build build --parallel + + - name: Verify capabilities present + run: | + echo "=== H.265 support ===" + grep -r "UVC_FRAME_FORMAT_H265" include/ && echo "PASS: H265 enum present" + + echo "=== UVC 1.5 header ===" + grep -r "0x0150" src/ && echo "PASS: UVC 1.5 case present" + + echo "=== Configurable auto-detach ===" + grep "LIBUVC_AUTO_DETACH_KERNEL_DRIVER" CMakeLists.txt && echo "PASS: auto-detach option present" + + - name: Configure + build (auto-detach OFF — rollback path) + run: | + cmake -B build-off \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_EXAMPLE=OFF \ + -DBUILD_TEST=OFF \ + -DLIBUVC_AUTO_DETACH_KERNEL_DRIVER=OFF + cmake --build build-off --parallel + echo "PASS: OFF variant builds cleanly" + + - name: Verify artifacts + run: | + test -f build/libuvc.so + echo "PASS: shared library produced" + test -f build/libuvc.a + echo "PASS: static library produced" From c8580c7dca7021365a6f74c36b3d40359e76d001 Mon Sep 17 00:00:00 2001 From: Andres Cera Date: Mon, 15 Jun 2026 15:41:13 -0500 Subject: [PATCH 2/2] ci: trigger only on pull_request + push to main (no duplicate runs) --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 53665da..0554a58 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,7 +2,7 @@ name: Build Check on: push: - branches: ["main", "feat/**"] + branches: ["main"] pull_request: branches: ["main"]