decoding: decode_statsd: tests: Add a test case #603
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: Build PR(s) and master branch. | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
types: [opened, reopened, synchronize] | |
jobs: | |
build-windows: | |
name: Build sources on amd64 for ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest, windows-2019] | |
permissions: | |
contents: read | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Set up with Developer Command Prompt for Microsoft Visual C++ | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
toolset: 14.29 # For using VS2019 C++ | |
- name: Build on ${{ matrix.os }} with vs-2019 | |
run: | | |
.\scripts\win_build.bat | |
- name: Run unit tests. | |
run: | | |
ctest --rerun-failed --output-on-failure -C Debug --test-dir .\tests\ | |
build-centos: | |
name: CentOS 7 build to confirm no issues once used downstream | |
runs-on: ubuntu-latest | |
container: centos:7 | |
permissions: | |
contents: read | |
steps: | |
- name: Set up base image dependencies | |
run: | | |
sed -i -e "s/^mirrorlist=http:\/\/mirrorlist.centos.org/#mirrorlist=http:\/\/mirrorlist.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo | |
sed -i -e "s/^#baseurl=http:\/\/mirror.centos.org/baseurl=http:\/\/vault.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo | |
yum -y update && \ | |
yum install -y ca-certificates cmake gcc gcc-c++ git make wget && \ | |
yum install -y epel-release | |
yum install -y cmake3 | |
shell: bash | |
- name: Clone repo with submodules (1.8.3 version of Git) | |
run: | | |
git clone --recursive https://github.com/calyptia/cmetrics.git | |
shell: bash | |
- name: Run compilation | |
run: | | |
cmake3 -DCMT_TESTS=on -DCMT_DEV=on . | |
make | |
shell: bash | |
working-directory: cmetrics | |
build-unix-arm64: | |
name: Build sources on arm64 for ${{ matrix.os }} - ${{ matrix.compiler }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
compiler: [ gcc, clang ] | |
permissions: | |
contents: read | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Build on ${{ matrix.os }} with ${{ matrix.compiler }} | |
uses: uraimo/[email protected] | |
with: | |
arch: aarch64 | |
distro: ubuntu20.04 | |
run: | | |
apt-get update && \ | |
apt-get install -y --no-install-recommends \ | |
build-essential \ | |
cmake \ | |
file \ | |
make | |
export CC=${{ env.compiler }} | |
cmake -DCMT_TESTS=On . | |
make all | |
CTEST_OUTPUT_ON_FAILURE=1 make test | |
env: | |
CC: ${{ matrix.compiler }} | |
build-unix-amd64: | |
name: Build sources on amd64 for ${{ matrix.os }} - ${{ matrix.compiler }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
compiler: [ gcc, clang ] | |
permissions: | |
contents: read | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Build on ${{ matrix.os }} with ${{ matrix.compiler }} | |
run: | | |
echo "CC = $CC, CXX = $CXX" | |
cmake -DCMT_TESTS=On . | |
make all | |
CTEST_OUTPUT_ON_FAILURE=1 make test | |
env: | |
CC: ${{ matrix.compiler }} | |
build-analysis-tests: | |
name: Build with various code analysis tools | |
strategy: | |
fail-fast: false | |
matrix: | |
preset: | |
- clang-sanitize-address | |
- clang-sanitize-memory | |
- clang-sanitize-undefined | |
- clang-sanitize-dataflow | |
- clang-sanitize-safe-stack | |
- valgrind | |
permissions: | |
contents: read | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- uses: docker://lpenz/ghaction-cmake:0.19 | |
with: | |
preset: ${{ matrix.preset }} | |
# dependencies_debian: '' | |
cmakeflags: '-DCMT_TESTS=On -DCMT_DEV=on .' | |
build_command: make all |