Anjay 3.8.1 #56
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
# 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 |