@@ -33,22 +33,37 @@ jobs:
3333 libwebsockets-dev \
3434 libcjson-dev \
3535 libssl-dev \
36- dpkg-dev
36+ dpkg-dev \
37+ doxygen \
38+ graphviz
3739
3840 - name : Build library
3941 run : |
4042 mkdir -p build
4143 cd build
42- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ..
44+ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON ..
4345 make -j$(nproc)
4446
45- - name : Run tests (if OBS available)
47+ - name : Generate Doxygen documentation
4648 run : |
4749 cd build
48- if [ -f test ]; then
49- echo "Tests available but require OBS running on localhost:4455"
50- # ./test -h localhost -p 4455 || echo "OBS not available, skipping"
51- fi
50+ make doc
51+ continue-on-error : true
52+
53+ - name : Check built artifacts
54+ run : |
55+ cd build
56+ echo "=== Built Executables ==="
57+ if [ -f test ]; then echo "✓ Test executable built"; fi
58+ if [ -f obsws_example ]; then echo "✓ Example executable built"; fi
59+ echo ""
60+ echo "=== Compiled Objects and Libraries ==="
61+ find . -maxdepth 2 -type f \( -name "*.o" -o -name "*.a" -o -name "*.so" \) | sort
62+
63+ - name : Skip OBS tests (setup later)
64+ run : |
65+ echo "Tests built but not executed - OBS server setup required"
66+ echo "Tests will be integrated when remote OBS server is available"
5267 continue-on-error : true
5368
5469 - name : Create .deb package
8095 name : libwsv5-packages
8196 path : build/libwsv5_*
8297
98+ - name : Upload documentation
99+ uses : actions/upload-artifact@v4
100+ with :
101+ name : libwsv5-docs
102+ path : build/doc/html/
103+ if : hashFiles('build/doc/html/*') != ''
104+ continue-on-error : true
105+
83106 - name : Create Release
84107 if : startsWith(github.ref, 'refs/tags/v')
85108 uses : softprops/action-gh-release@v1
92115 draft : false
93116 prerelease : false
94117 body_path : .github/RELEASE_TEMPLATE.md
118+ generate_release_notes : true
95119 env :
96120 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments