add chain targets #963
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
fail_ci_if_error: true | |
gcov: true | |
- 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@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
fail_ci_if_error: true | |
gcov: true | |
- 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@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # v3.1.4 | |
with: | |
fail_ci_if_error: true | |
gcov: true | |
- 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@5cfe23c062c0aac352e765b1b7cc12ea5255ccc4 # v1.156.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@5cfe23c062c0aac352e765b1b7cc12ea5255ccc4 # v1.156.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) |