Skip to content

Anjay 3.13.1

Anjay 3.13.1 #99

Workflow file for this run

# Copyright 2017-2026 AVSystem <avsystem@avsystem.com>
# AVSystem Anjay LwM2M SDK
# All rights reserved.
#
# Licensed under AVSystem Anjay LwM2M Client SDK - Non-Commercial License.
# See the attached LICENSE file for details.
name: Anjay tests
on: [push]
jobs:
ubuntu2204-compilers-test:
runs-on: ubuntu-latest
container: avsystemembedded/anjay-travis:ubuntu-22.04-3.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_IPV6=OFF
- run: |
. /venv/bin/activate
env CC=gcc LC_ALL=C.UTF-8 make -j
- run: |
. /venv/bin/activate
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
ubuntu2404-compilers-test:
runs-on: ubuntu-latest
container: avsystemembedded/anjay-travis:ubuntu-24.04-3.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_IPV6=OFF
- run: |
. /venv/bin/activate
env CC=gcc LC_ALL=C.UTF-8 make -j
- run: |
. /venv/bin/activate
env CC=gcc LC_ALL=C.UTF-8 make check
strategy:
fail-fast: false
matrix:
include:
- CC: gcc-12
CXX: g++-12
MEM_CHECK_TOOL: --with-valgrind
- CC: gcc-13
CXX: g++-13
MEM_CHECK_TOOL: --with-valgrind
- CC: gcc-14
CXX: g++-14
MEM_CHECK_TOOL: --with-valgrind
- CC: clang-17
CXX: clang++-17
MEM_CHECK_TOOL: --with-valgrind
- CC: clang-18
CXX: clang++-18
MEM_CHECK_TOOL: --with-valgrind
- CC: clang-19
CXX: clang++-19
MEM_CHECK_TOOL: --with-valgrind
rockylinux9-compilers-test:
runs-on: ubuntu-latest
container: avsystemembedded/anjay-travis:rockylinux-9-3.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 --nobest
- 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_IPV6=OFF
- run: |
. /venv/bin/activate
env CC=gcc LC_ALL=C.UTF-8 make -j
- run: |
. /venv/bin/activate
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-test:
runs-on: "${{ matrix.RUNNER }}"
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 python3 openssl"; $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
# HACK: New version of homebrew requires us to install a formulae from a tap, create a tap for our mbedTLS.
# The change in homebrew is intentional and won't be fixed, for more details see: https://github.com/orgs/Homebrew/discussions/6351
- run: brew tap-new embedded/mbedtls
- run: |
TAP_DIR="$(brew --repo embedded/mbedtls)"
mkdir -p "${TAP_DIR}/Formula"
cp /tmp/mbedtls.rb "${TAP_DIR}/Formula/mbedtls.rb"
git -C "${TAP_DIR}" add Formula/mbedtls.rb
git -C "${TAP_DIR}" -c user.name="CI" -c user.email="ci@example.com" commit -m "Add custom mbedtls formula"
- run: brew install embedded/mbedtls/mbedtls
- run: brew pin mbedtls
# NOTE: The above command may have installed a new version of Python, that's why we launch it weirdly
# NOTE: We manualy create env since devconfig does not use /usr/bin/env python3
- run: /usr/bin/env python3 -m venv venv
- run: env JAVA_HOME="$JAVA_HOME_17_X64" ./devconfig --with-asan --without-analysis --no-examples -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_IPV6=OFF -DMBEDTLS_ROOT_DIR=/opt/homebrew/opt/mbedtls
- run: |
. venv/bin/activate
LC_ALL=en_US.UTF-8 make -j
- run: |
. venv/bin/activate
LC_ALL=en_US.UTF-8 make check
strategy:
fail-fast: false
matrix:
include:
- RUNNER: macos-14
- RUNNER: macos-15
- RUNNER: macos-26