Commit graph

27 commits

Author SHA1 Message Date
Steffen Jaeckel
3c0c20e4cb Run deploy job also for ARM.
1. Also run tests before packaging the library.
2. Use different packagecloud GH action, since official one doesn't support
   running on ARM.
3. Update `PACKAGE_RELEASE_VERSION` on each deploy run.

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2026-04-07 12:32:51 +02:00
Steffen Jaeckel
0e14cf081a Read logs on CMake build failure
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-06-11 12:05:11 +02:00
Steffen Jaeckel
c07fc5b671 Workflow trigger filtering changed
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-06-11 11:59:07 +02:00
Steffen Jaeckel
605eae1222 Run CMake tests also on aarch64
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-06-11 11:52:13 +02:00
Steffen Jaeckel
b59524cdfd Clang-11 sanitizer seems to be broken.
It terminates with the following error message:

```
==2028==ERROR: UndefinedBehaviorSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
==2028==Process memory map follows:
[memory map]
==2028==End of process memory map.
==2028==Sanitizer CHECK failed: /build/llvm-toolchain-11-mnvtwk/llvm-toolchain-11-11.1.0/compiler-rt/lib/sanitizer_common/sanitizer_common.cpp:54 ((0 && "unable to mmap")) != (0) (0, 0)
```

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-02-24 14:02:37 +01:00
Steffen Jaeckel
bbf4dff571 x32 ABI is no longer supported on Ubuntu 22.04.
c.f. [0] for details.

[0] https://github.com/actions/runner-images/issues/8397

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-02-24 13:52:08 +01:00
Steffen Jaeckel
4e22dcbf2e Ubuntu 20.04 is no longer supported for CI
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-02-24 13:20:43 +01:00
Steffen Jaeckel
b2cdf65152 Cancel running CI job if PR is updated.
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-02-24 13:15:48 +01:00
Steffen Jaeckel
afc14115e5 Make it possible to deploy for Ubuntu 24.04
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-02-17 15:21:50 +01:00
Steffen Jaeckel
5938524c60 Bump actions/upload-artifacts version
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2025-01-30 16:25:57 +01:00
Steffen Jaeckel
6c70ef1cec Run small-stack tests with valgrind
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2024-04-03 16:23:42 +02:00
Steffen Jaeckel
98655a8e3c Add multi-threaded tests
Output gets garbeled a bit, but we only care for the result which is
`Tests OK/NOP/FAIL: 50/0/0`.

Add `-Wno-incomplete-setjmp-declaration` since `clang-10` shipping with
Ubuntu 20.04 seems broken... and `-Wno-unknown-warning-option` since
`clang-8` doesn't know about this warning...

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2024-03-27 16:25:27 +01:00
Steffen Jaeckel
18e67e1888 Replace locking by atomic operations
`s_warray_init()` and `s_warray_free()` are not safe and MUST NOT be called
from multiple threads.

This also removes `MP_WARRAY_NUM`, since automatic initialization will not
be safe for more than one thread.

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2024-03-27 16:25:27 +01:00
Steffen Jaeckel
bd66fccee4 add MP_SMALL_STACK_SIZE option
This adds an option to use a heap-buffer for the usually stack-based
`MP_WARRAY`-sized temporary buffers.

Per default it will reserve a single buffer, which can be modified
* at compile-time via the `MP_WARRAY_NUM` define
* at run-time by calling `mp_warray_init()`

The internal structure can only be created once. If one wants to modify
the maximum number of elements, the entire structure has to be free'd
by calling `mp_warray_free()`.

In case one wants to use this option with multiple threads, one shall
use the `mp_warray_init()` function and pass appropriate locking functions.

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2024-03-27 16:12:02 +01:00
Steffen Jaeckel
92e9f32b9f Use actions/checkout@v3
Hopefully we have less warnings in the action logs then ...

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2024-03-11 18:13:31 +01:00
Steffen Jaeckel
96927a9cb5 Add CI job to build docs
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2023-06-22 16:52:18 +02:00
Steffen Jaeckel
070946ad4a Fix CMAKE_INSTALL_PREFIX for deploy
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2023-06-19 16:59:56 +02:00
Steffen Jaeckel
a45511232d cmake: Fix naming scheme for debian packages
Those are only used in case we're building on develop.

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2023-06-16 18:45:17 +02:00
Steffen Jaeckel
7585a6a0c5 Fix packagecloud deploy script
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2023-06-16 13:27:00 +02:00
Steffen Jaeckel
2a5e0b629c add deploy script
Let's add a manual step to deploy to packagecloud.

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2023-06-15 17:19:29 +02:00
Steffen Jaeckel
02cf798a69 add CI job that tests whether the amalgamated library builds
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2023-04-11 14:53:26 +02:00
czurnieden
8781b2415c make both mp_log() variants testable and add CI jobs 2023-04-11 13:53:22 +02:00
Steffen Jaeckel
db836bab5a bump CI base versions & update compiler versions
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2023-03-31 21:14:20 +02:00
Steffen Jaeckel
0f80b46a6d adjust CI builds
* split up build and test process
* build and run tests twice
  - once from regular build folder
  - once from demo

Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2022-03-22 20:55:09 +01:00
Steffen Jaeckel
ed6ad7d9ab extend CI matrix for different cmake options
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2022-03-15 16:01:25 +01:00
Steffen Jaeckel
7cacdedc87 add cmake tests to CI
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2022-03-14 10:45:31 +01:00
Steffen Jaeckel
17b0fd2a16 migrate from travis to GitHub actions
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
2022-02-14 15:10:00 +01:00