Skip to content

packaging and documentation fixes #1042

packaging and documentation fixes

packaging and documentation fixes #1042

Workflow file for this run

name: "Linux"
on:
push:
pull_request:
branches:
- latest
env:
CTEST_OUTPUT_ON_FAILURE: 1
jobs:
linux-debug:
name: "linux, debug"
runs-on: "ubuntu-latest"
steps:
- name: Install Prereqs
run: |
sudo apt-get update
sudo apt-get install doxygen libsystemd-dev valgrind
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Configure
run: |
cmake -DCOVERAGE=ON -DCMAKE_BUILD_TYPE=Debug .
- name: Build
run: |
make all
- name: Test
run: |
make check
if grep "DEPRECATED" Testing/Temporary/LastTest.log; then exit 1; fi
- name: Privileged Tests
run: |
sudo ./function-test-tcp4
sudo ./function-test-tcp4_leak
sudo ./function-test-tcp6
sudo ./function-test-tcp6_leak
sudo ./function-test-udp4
sudo ./function-test-udp4_leak
sudo ./function-test-udp6
sudo ./function-test-udp6_leak
- name: Codecov Upload
uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # v4.3.0
with:
disable_file_fixes: true
fail_ci_if_error: true
plugin: gcov
token: ${{ secrets.CODECOV_TOKEN }}
- name: Thread Safety Tests
run: |
make check-thread-safety
sudo ./thread-safety-test-network
- name: Run Examples
run: |
make examples
- name: Valgrind Tests
run: |
(for f in $(ls function-test-*); do valgrind --error-exitcode=1 --leak-check=yes --suppressions=tools/valgrind/journald.supp ./$f || exit 1; done)
(for f in $(ls example-*); do valgrind --error-exitcode=1 --leak-check=yes --suppressions=tools/valgrind/journald.supp ./$f || exit 1; done)
- name: Install
run: |
sudo make install
- name: Build Documentation
run: |
make docs
linux-debug-ansi:
name: "linux, debug, ansi"
runs-on: "ubuntu-latest"
env:
CFLAGS: "-D_ANSI_SOURCE -pedantic -Wall -std=c99"
steps:
- name: Install Prereqs
run: |
sudo apt-get update
sudo apt-get install doxygen libsystemd-dev valgrind
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Configure
run: |
cmake -DCOVERAGE=ON -DCMAKE_BUILD_TYPE=Debug .
- name: Build
run: |
make all
- name: Test
run: |
make check
if grep "DEPRECATED" Testing/Temporary/LastTest.log; then exit 1; fi
- name: Privileged Tests
run: |
sudo ./function-test-tcp4
sudo ./function-test-tcp4_leak
sudo ./function-test-tcp6
sudo ./function-test-tcp6_leak
sudo ./function-test-udp4
sudo ./function-test-udp4_leak
sudo ./function-test-udp6
sudo ./function-test-udp6_leak
- name: Codecov Upload
uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # v4.3.0
with:
disable_file_fixes: true
fail_ci_if_error: true
plugin: gcov
token: ${{ secrets.CODECOV_TOKEN }}
- name: Thread Safety Tests
run: |
make check-thread-safety
sudo ./thread-safety-test-network
- name: Run Examples
run: |
make examples
- name: Valgrind Tests
run: |
(for f in $(ls function-test-*); do valgrind --error-exitcode=1 --leak-check=yes --suppressions=tools/valgrind/journald.supp ./$f || exit 1; done)
(for f in $(ls example-*); do valgrind --error-exitcode=1 --leak-check=yes --suppressions=tools/valgrind/journald.supp ./$f || exit 1; done)
- name: Install
run: |
sudo make install
- name: Build Documentation
run: |
make docs
linux-release:
name: "linux, release"
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Configure
run: |
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .
- name: Build
run: |
make all
- name: Test
run: |
make check
if grep "DEPRECATED" Testing/Temporary/LastTest.log; then exit 1; fi
- name: Privileged Tests
run: |
sudo ./function-test-tcp4
sudo ./function-test-tcp4_leak
sudo ./function-test-tcp6
sudo ./function-test-tcp6_leak
sudo ./function-test-udp4
sudo ./function-test-udp4_leak
sudo ./function-test-udp6
sudo ./function-test-udp6_leak
- name: Thread Safety Tests
run: |
make check-thread-safety
sudo ./thread-safety-test-network
- name: Run Examples
run: |
make examples
- name: Run Benchmarks
run: |
make bench
- name: Install
run: |
sudo make install
- name: Test Install
run: |
gcc docs/examples/basic/basic_example.c -lstumpless -o basic_example
./basic_example
linux-release-static:
name: "linux, release, static library"
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Configure
run: |
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=OFF -DENABLE_JOURNALD_TARGETS=OFF -DENABLE_SQLITE3_TARGETS=OFF .
- name: Build
run: |
make all
- name: Test
run: |
make check
if grep "DEPRECATED" Testing/Temporary/LastTest.log; then exit 1; fi
- name: Privileged Tests
run: |
sudo ./function-test-tcp4
sudo ./function-test-tcp4_leak
sudo ./function-test-tcp6
sudo ./function-test-tcp6_leak
sudo ./function-test-udp4
sudo ./function-test-udp4_leak
sudo ./function-test-udp6
sudo ./function-test-udp6_leak
- name: Thread Safety Tests
run: |
make check-thread-safety
sudo ./thread-safety-test-network
- name: Run Examples
run: |
make examples
- name: Run Benchmarks
run: |
make bench
- name: Install
run: |
sudo make install
- name: Test Install
run: |
gcc docs/examples/basic/basic_example.c -lstumpless -o basic_example
./basic_example
linux-release-single-file:
name: "linux, release, single file library"
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Configure
run: |
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .
- name: Test
run: |
make check-single-file
if grep "DEPRECATED" Testing/Temporary/LastTest.log; then exit 1; fi
- name: Privileged Tests
run: |
sudo ./function-test-single-file-tcp4
sudo ./function-test-single-file-tcp4_leak
sudo ./function-test-single-file-tcp6
sudo ./function-test-single-file-tcp6_leak
sudo ./function-test-single-file-udp4
sudo ./function-test-single-file-udp4_leak
sudo ./function-test-single-file-udp6
sudo ./function-test-single-file-udp6_leak
- name: Run Examples
run: |
make examples-single-file
- name: Run Benchmarks
run: |
make bench-single-file
linux-release-ansi:
name: "linux, release, ansi"
runs-on: "ubuntu-latest"
env:
CFLAGS: "-D_ANSI_SOURCE -pedantic -Wall -std=c99"
steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Configure
run: |
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .
- name: Build
run: |
make all
- name: Test
run: |
make check
if grep "DEPRECATED" Testing/Temporary/LastTest.log; then exit 1; fi
- name: Privileged Tests
run: |
sudo ./function-test-tcp4
sudo ./function-test-tcp4_leak
sudo ./function-test-tcp6
sudo ./function-test-tcp6_leak
sudo ./function-test-udp4
sudo ./function-test-udp4_leak
sudo ./function-test-udp6
sudo ./function-test-udp6_leak
- name: Thread Safety Tests
run: |
make check-thread-safety
sudo ./thread-safety-test-network
- name: Run Examples
run: |
make examples
- name: Run Benchmarks
run: |
make bench
- name: Install
run: |
sudo make install
- name: Test Install
run: |
gcc docs/examples/basic/basic_example.c -lstumpless -o basic_example
./basic_example
linux-all-disabled-debug:
name: "linux, all features disabled, debug"
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Configure
run: |
cmake -DCOVERAGE=ON -DCMAKE_BUILD_TYPE=Debug -DENABLE_CHAIN_TARGETS=OFF -DENABLE_JOURNALD_TARGETS=OFF -DENABLE_NETWORK_TARGETS=OFF -DENABLE_SOCKET_TARGETS=OFF -DENABLE_SQLITE3_TARGETS=OFF -DENABLE_WINDOWS_EVENT_LOG_TARGETS=OFF -DENABLE_THREAD_SAFETY=OFF .
- name: Build
run: |
make all
- name: Test
run: |
make check
if grep "DEPRECATED" Testing/Temporary/LastTest.log; then exit 1; fi
- name: Codecov Upload
uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # v4.3.0
with:
disable_file_fixes: true
fail_ci_if_error: true
plugin: gcov
token: ${{ secrets.CODECOV_TOKEN }}
- name: Run Examples
run: |
make examples
- name: Install
run: |
sudo make install
linux-all-disabled-release:
name: "linux, all features disabled, release"
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Configure
run: |
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_JOURNALD_TARGETS=OFF -DENABLE_NETWORK_TARGETS=OFF -DENABLE_SOCKET_TARGETS=OFF -DENABLE_SQLITE3_TARGETS=OFF -DENABLE_WINDOWS_EVENT_LOG_TARGETS=OFF -DENABLE_THREAD_SAFETY=OFF .
- name: Build
run: |
make all
- name: Test
run: |
make check
if grep "DEPRECATED" Testing/Temporary/LastTest.log; then exit 1; fi
- name: Run Examples
run: |
make examples
- name: Install
run: |
sudo make install
linux-cpp-debug:
name: "linux, with c++, debug"
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- uses: ruby/setup-ruby@70da3bbf44ac06db1b0547ce2acc9380a5270d1e # v1.175.0
with:
ruby-version: '3.2'
- name: Install Prereqs
run: |
sudo apt-get update
sudo apt-get install doxygen libsystemd-dev valgrind
- name: Install Gems
run: |
gem install wrapture
- name: Configure
run: |
cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_CPP=ON .
- name: Build
run: |
make all
- name: Test
run: |
make check-cpp
- name: Run Example
run: |
make example-cpp
./example-cpp
- name: Install
run: |
sudo make install
- name: Build Documentation
run: |
make docs-cpp
linux-cpp-release:
name: "linux, with c++, release"
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- uses: ruby/setup-ruby@70da3bbf44ac06db1b0547ce2acc9380a5270d1e # v1.175.0
with:
ruby-version: '3.2'
- name: Install Packages
run: |
sudo apt-get update
sudo apt-get install doxygen
- name: Install Gems
run: |
gem install wrapture
- name: Configure
run: |
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_CPP=ON .
- name: Build
run: |
make all
- name: Test
run: |
make check-cpp
- name: Run Example
run: |
make example-cpp
./example-cpp
- name: Install
run: |
sudo make install
- name: Build Documentation
run: |
make docs-cpp
linux-fuzz-build:
name: "linux, fuzzer build"
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
- name: Configure
run: |
cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DFUZZ=ON .
- name: Build Fuzzers
run: |
make fuzz
- name: Run Fuzzers
run: |
(for f in $(ls fuzz-test-*); do timeout 1s make run-$f || if [ $? -eq 124 ]; then echo "$f ran"; else exit 1; fi; done)