Skip to content

Anjay 3.8.1

Anjay 3.8.1 #56

Workflow file for this run

# Copyright 2017-2024 AVSystem <avsystem@avsystem.com>
# AVSystem Anjay LwM2M SDK
# All rights reserved.
#
# Licensed under the AVSystem-5-clause License.
# See the attached LICENSE file for details.
name: Anjay tests
on: [push]
jobs:
ubuntu1804-compilers-test:
runs-on: ubuntu-latest
container: avsystemembedded/anjay-travis:ubuntu-18.04-2.0
env:
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
steps:
# NOTE: workaround for https://github.com/actions/checkout/issues/760
- run: git config --global safe.directory '*'
# NOTE: v2 requires Git 2.18 for submodules, it's not present in the image
- uses: actions/checkout@v1
with:
submodules: recursive
- run: apt-get update
- run: apt-get -y install $CC $CXX
- run: ./devconfig --with-valgrind --without-analysis -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_URL_CHECK=OFF -DWITH_IPV6=OFF
- run: env CC=gcc LC_ALL=C.UTF-8 make -j
- run: env CC=gcc LC_ALL=C.UTF-8 make check
strategy:
fail-fast: false
matrix:
include:
- CC: gcc-7
CXX: g++
- CC: clang-6.0
CXX: clang++-6.0
ubuntu2004-compilers-test:
runs-on: ubuntu-latest
container: avsystemembedded/anjay-travis:ubuntu-20.04-2.0
env:
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
steps:
# NOTE: workaround for https://github.com/actions/checkout/issues/760
- run: git config --global safe.directory '*'
# NOTE: v2 requires Git 2.18 for submodules, it's not present in the image
- uses: actions/checkout@v1
with:
submodules: recursive
- run: apt-get update
- run: apt-get -y install $CC $CXX
- run: ./devconfig --with-valgrind --without-analysis -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_URL_CHECK=OFF -DWITH_IPV6=OFF
- run: env CC=gcc LC_ALL=C.UTF-8 make -j
- run: env CC=gcc LC_ALL=C.UTF-8 make check
strategy:
fail-fast: false
matrix:
include:
- CC: gcc-8
CXX: g++-8
- CC: gcc-9
CXX: g++-9
- CC: gcc-10
CXX: g++-10
- CC: clang-10
CXX: clang++-10
ubuntu2204-compilers-test:
runs-on: ubuntu-latest
container: avsystemembedded/anjay-travis:ubuntu-22.04-2.0
env:
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
MEM_CHECK_TOOL: ${{ matrix.MEM_CHECK_TOOL }}
steps:
# NOTE: workaround for https://github.com/actions/checkout/issues/760
- run: git config --global safe.directory '*'
# NOTE: v2 requires Git 2.18 for submodules, it's not present in the image
- uses: actions/checkout@v1
with:
submodules: recursive
- run: apt-get update
- run: apt-get -y install $CC $CXX
- run: ./devconfig $MEM_CHECK_TOOL --without-analysis -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_URL_CHECK=OFF -DWITH_IPV6=OFF
- run: env CC=gcc LC_ALL=C.UTF-8 make -j
- run: env CC=gcc LC_ALL=C.UTF-8 make check
strategy:
fail-fast: false
matrix:
include:
- CC: gcc-11
CXX: g++-11
MEM_CHECK_TOOL: --with-valgrind
- CC: gcc-12
CXX: g++-12
MEM_CHECK_TOOL: --with-valgrind
- CC: clang-11
CXX: clang++-11
MEM_CHECK_TOOL: --with-valgrind
- CC: clang-12
CXX: clang++-12
MEM_CHECK_TOOL: --with-valgrind
- CC: clang-13
CXX: clang++-13
MEM_CHECK_TOOL: --with-valgrind
- CC: clang-14
CXX: clang++-14
MEM_CHECK_TOOL: --without-memcheck # NOTE: workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1758782
rockylinux9-compilers-test:
runs-on: ubuntu-latest
container: avsystemembedded/anjay-travis:rockylinux-9-2.0
env:
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
steps:
# NOTE: workaround for https://github.com/actions/checkout/issues/760
- run: git config --global safe.directory '*'
# NOTE: v2 requires Git 2.18 for submodules, it's not present in the image
- uses: actions/checkout@v1
with:
submodules: recursive
- run: dnf update -y
- run: dnf install -y $CC
# Solve issues with EPERM when running dumpcap
- run: setcap '' $(which dumpcap)
- run: ./devconfig --with-valgrind --without-analysis -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_URL_CHECK=OFF -DWITH_IPV6=OFF
- run: env CC=gcc LC_ALL=C.UTF-8 make -j
- run: env CC=gcc LC_ALL=C.UTF-8 make check
strategy:
fail-fast: false
matrix:
include:
- CC: gcc
CXX: g++
- CC: clang
CXX: clang++
macOS-compilers-test:
runs-on: macos-12
env:
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
COMPILER_VERSION: ${{ matrix.COMPILER_VERSION }}
steps:
# NOTE: v2 requires Git 2.18 for submodules, it's not present in the image
- uses: actions/checkout@v1
with:
submodules: recursive
- run: brew update
# NOTE: try the brew install command twice to work around "brew link" errors
- run: INSTALL_CMD="brew install openssl $COMPILER_VERSION"; $INSTALL_CMD || $INSTALL_CMD
# NOTE: Some tests don't pass on mbedTLS 3.6.2 now, so we need to install an older version
# Homebrew only specifiers major version of mbedTLS, so let's pin the version to 3.6.0 manually
- run: curl -f https://raw.githubusercontent.com/Homebrew/homebrew-core/219dabf6cab172fb8b62b4d8598e016e190c3c20/Formula/m/mbedtls.rb > /tmp/mbedtls.rb
- run: brew install --formula /tmp/mbedtls.rb
- run: brew pin mbedtls
# NOTE: The above command may have installed a new version of Python, that's why we launch it weirdly
- run: /usr/bin/env python3 -m pip install -r requirements.txt
- run: env JAVA_HOME="$JAVA_HOME_17_X64" ./devconfig --with-asan --without-analysis --no-examples -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_URL_CHECK=OFF -DWITH_IPV6=OFF
- run: LC_ALL=en_US.UTF-8 make -j
- run: LC_ALL=en_US.UTF-8 make check
strategy:
fail-fast: false
matrix:
include:
- CC: gcc-12
CXX: g++-12
COMPILER_VERSION: gcc@12
- CC: cc
CXX: c++
COMPILER_VERSION: llvm