1- # Copyright 2017-2025 AVSystem <avsystem@avsystem.com>
1+ # Copyright 2017-2026 AVSystem <avsystem@avsystem.com>
22# AVSystem Anjay LwM2M SDK
33# All rights reserved.
44#
88name : Anjay tests
99on : [push]
1010jobs :
11- ubuntu2004 -compilers-test :
11+ ubuntu2204 -compilers-test :
1212 runs-on : ubuntu-latest
13- container : avsystemembedded/anjay-travis:ubuntu-20 .04-2.2
13+ container : avsystemembedded/anjay-travis:ubuntu-22 .04-3.0
1414 env :
1515 CC : ${{ matrix.CC }}
1616 CXX : ${{ matrix.CXX }}
17+ MEM_CHECK_TOOL : ${{ matrix.MEM_CHECK_TOOL }}
1718 steps :
1819 # NOTE: workaround for https://github.com/actions/checkout/issues/760
1920 - run : git config --global safe.directory '*'
@@ -23,25 +24,39 @@ jobs:
2324 submodules : recursive
2425 - run : apt-get update
2526 - run : apt-get -y install $CC $CXX
26- - run : ./devconfig --with-valgrind --without-analysis -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_URL_CHECK=OFF -DWITH_IPV6=OFF
27- - run : env CC=gcc LC_ALL=C.UTF-8 make -j
28- - run : env CC=gcc LC_ALL=C.UTF-8 make check
27+ - run : ./devconfig $MEM_CHECK_TOOL --without-analysis -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_IPV6=OFF
28+ - run : |
29+ . /venv/bin/activate
30+ env CC=gcc LC_ALL=C.UTF-8 make -j
31+ - run : |
32+ . /venv/bin/activate
33+ env CC=gcc LC_ALL=C.UTF-8 make check
2934 strategy :
3035 fail-fast : false
3136 matrix :
3237 include :
33- - CC : gcc-8
34- CXX : g++-8
35- - CC : gcc-9
36- CXX : g++-9
37- - CC : gcc-10
38- CXX : g++-10
39- - CC : clang-10
40- CXX : clang++-10
38+ - CC : gcc-11
39+ CXX : g++-11
40+ MEM_CHECK_TOOL : --with-valgrind
41+ - CC : gcc-12
42+ CXX : g++-12
43+ MEM_CHECK_TOOL : --with-valgrind
44+ - CC : clang-11
45+ CXX : clang++-11
46+ MEM_CHECK_TOOL : --with-valgrind
47+ - CC : clang-12
48+ CXX : clang++-12
49+ MEM_CHECK_TOOL : --with-valgrind
50+ - CC : clang-13
51+ CXX : clang++-13
52+ MEM_CHECK_TOOL : --with-valgrind
53+ - CC : clang-14
54+ CXX : clang++-14
55+ MEM_CHECK_TOOL : --without-memcheck # NOTE: workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1758782
4156
42- ubuntu2204 -compilers-test :
57+ ubuntu2404 -compilers-test :
4358 runs-on : ubuntu-latest
44- container : avsystemembedded/anjay-travis:ubuntu-22 .04-2.2
59+ container : avsystemembedded/anjay-travis:ubuntu-24 .04-3.0
4560 env :
4661 CC : ${{ matrix.CC }}
4762 CXX : ${{ matrix.CXX }}
@@ -55,35 +70,39 @@ jobs:
5570 submodules : recursive
5671 - run : apt-get update
5772 - run : apt-get -y install $CC $CXX
58- - run : ./devconfig $MEM_CHECK_TOOL --without-analysis -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_URL_CHECK=OFF -DWITH_IPV6=OFF
59- - run : env CC=gcc LC_ALL=C.UTF-8 make -j
60- - run : env CC=gcc LC_ALL=C.UTF-8 make check
73+ - run : ./devconfig $MEM_CHECK_TOOL --without-analysis -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_IPV6=OFF
74+ - run : |
75+ . /venv/bin/activate
76+ env CC=gcc LC_ALL=C.UTF-8 make -j
77+ - run : |
78+ . /venv/bin/activate
79+ env CC=gcc LC_ALL=C.UTF-8 make check
6180 strategy :
6281 fail-fast : false
6382 matrix :
6483 include :
65- - CC : gcc-11
66- CXX : g++-11
67- MEM_CHECK_TOOL : --with-valgrind
6884 - CC : gcc-12
6985 CXX : g++-12
7086 MEM_CHECK_TOOL : --with-valgrind
71- - CC : clang-11
72- CXX : clang ++-11
87+ - CC : gcc-13
88+ CXX : g ++-13
7389 MEM_CHECK_TOOL : --with-valgrind
74- - CC : clang-12
75- CXX : clang ++-12
90+ - CC : gcc-14
91+ CXX : g ++-14
7692 MEM_CHECK_TOOL : --with-valgrind
77- - CC : clang-13
78- CXX : clang++-13
93+ - CC : clang-17
94+ CXX : clang++-17
95+ MEM_CHECK_TOOL : --with-valgrind
96+ - CC : clang-18
97+ CXX : clang++-18
98+ MEM_CHECK_TOOL : --with-valgrind
99+ - CC : clang-19
100+ CXX : clang++-19
79101 MEM_CHECK_TOOL : --with-valgrind
80- - CC : clang-14
81- CXX : clang++-14
82- MEM_CHECK_TOOL : --without-memcheck # NOTE: workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1758782
83102
84103 rockylinux9-compilers-test :
85104 runs-on : ubuntu-latest
86- container : avsystemembedded/anjay-travis:rockylinux-9-2.2
105+ container : avsystemembedded/anjay-travis:rockylinux-9-3.0
87106 env :
88107 CC : ${{ matrix.CC }}
89108 CXX : ${{ matrix.CXX }}
@@ -98,9 +117,13 @@ jobs:
98117 - run : dnf install -y $CC
99118 # Solve issues with EPERM when running dumpcap
100119 - run : setcap '' $(which dumpcap)
101- - run : ./devconfig --with-valgrind --without-analysis -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_URL_CHECK=OFF -DWITH_IPV6=OFF
102- - run : env CC=gcc LC_ALL=C.UTF-8 make -j
103- - run : env CC=gcc LC_ALL=C.UTF-8 make check
120+ - run : ./devconfig --with-valgrind --without-analysis -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_IPV6=OFF
121+ - run : |
122+ . /venv/bin/activate
123+ env CC=gcc LC_ALL=C.UTF-8 make -j
124+ - run : |
125+ . /venv/bin/activate
126+ env CC=gcc LC_ALL=C.UTF-8 make check
104127 strategy :
105128 fail-fast : false
106129 matrix :
@@ -110,21 +133,16 @@ jobs:
110133 - CC : clang
111134 CXX : clang++
112135
113- macOS-compilers-test :
114- runs-on : macos-14
115- env :
116- CC : ${{ matrix.CC }}
117- CXX : ${{ matrix.CXX }}
118- COMPILER_VERSION : ${{ matrix.COMPILER_VERSION }}
119- MEM_CHECK_TOOL : ${{ matrix.MEM_CHECK_TOOL }}
136+ macOS-test :
137+ runs-on : " ${{ matrix.RUNNER }}"
120138 steps :
121139 # NOTE: v2 requires Git 2.18 for submodules, it's not present in the image
122140 - uses : actions/checkout@v1
123141 with :
124142 submodules : recursive
125143 - run : brew update
126144 # NOTE: try the brew install command twice to work around "brew link" errors
127- - run : INSTALL_CMD="brew install python3 openssl ${COMPILER_VERSION:+$COMPILER_VERSION} "; $INSTALL_CMD || $INSTALL_CMD
145+ - run : INSTALL_CMD="brew install python3 openssl"; $INSTALL_CMD || $INSTALL_CMD
128146 # NOTE: Some tests don't pass on mbedTLS 3.6.2 now, so we need to install an older version
129147 # Homebrew only specifiers major version of mbedTLS, so let's pin the version to 3.6.0 manually
130148 - run : curl -f https://raw.githubusercontent.com/Homebrew/homebrew-core/219dabf6cab172fb8b62b4d8598e016e190c3c20/Formula/m/mbedtls.rb > /tmp/mbedtls.rb
@@ -140,23 +158,19 @@ jobs:
140158 - run : brew install embedded/mbedtls/mbedtls
141159 - run : brew pin mbedtls
142160 # NOTE: The above command may have installed a new version of Python, that's why we launch it weirdly
143- - run : /usr/bin/env python3 -m pip install -r requirements.txt --break-system-packages
144- - run : env JAVA_HOME="$JAVA_HOME_17_X64" ./devconfig $MEM_CHECK_TOOL --without-analysis --no-examples -DWITH_VALGRIND_TRACK_ORIGINS=OFF -DWITH_URL_CHECK=OFF -DWITH_IPV6=OFF -DMBEDTLS_ROOT_DIR=/opt/homebrew/opt/mbedtls
145- - run : LC_ALL=en_US.UTF-8 make -j
146- - run : LC_ALL=en_US.UTF-8 make check
161+ # NOTE: We manualy create env since devconfig does not use /usr/bin/env python3
162+ - run : /usr/bin/env python3 -m venv venv
163+ - 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
164+ - run : |
165+ . venv/bin/activate
166+ LC_ALL=en_US.UTF-8 make -j
167+ - run : |
168+ . venv/bin/activate
169+ LC_ALL=en_US.UTF-8 make check
147170 strategy :
148171 fail-fast : false
149172 matrix :
150173 include :
151- - CC : /opt/homebrew/opt/gcc@14/bin/gcc-14
152- CXX : /opt/homebrew/opt/gcc@14/bin/g++-14
153- COMPILER_VERSION : gcc@14
154- MEM_CHECK_TOOL : --without-memcheck
155- # NOTE: llvm is temporarily disabled due to problem with header search paths
156- # - CC: /opt/homebrew/opt/llvm@20/bin/clang
157- # CXX: /opt/homebrew/opt/llvm@20/bin/clang++
158- # COMPILER_VERSION: llvm@20
159- # MEM_CHECK_TOOL: --with-asan
160- - CC : cc
161- CXX : c++
162- MEM_CHECK_TOOL : --with-asan
174+ - RUNNER : macos-14
175+ - RUNNER : macos-15
176+ - RUNNER : macos-26
0 commit comments