Commit Graph

45 Commits

Author SHA1 Message Date
Martin Pulec
1a1bee8a29 CI Linux: simplify caches
handle cache build/install (transitively) in prepare.sh
2025-08-28 09:19:55 +02:00
Martin Pulec
4a4716f6e7 CI mac: fix broken live555 test
live555 HEAD commit is now f4a4e8fb0

testRTSPClient.cpp:64:24: error: copying variable of type 'EventLoopWatchVariable' (aka 'atomic<char>') invokes deleted constructor
   64 | EventLoopWatchVariable eventLoopWatchVariable = 0;
2025-08-13 10:32:20 +02:00
Martin Pulec
194cb695e3 GH scripts: add -f to curl
to catch 4xx HTTP errors (curls returns 0 otherwise)
2025-07-15 09:20:42 +02:00
Martin Pulec
5b2f2fe48a CI: libajantv2 build workaround
workaround for aja-video/libajantv2 commit e760d416 (merged 2024-04-15)

The NL in VERSION.txt causes cmake fail (obviously the NL) is expanded
in cmake where it shouldn't:
```
$ cmake --build libajantv2/build --config Release -j 4
ajantv2/CMakeFiles/ajantv2.dir/build.make:1746: *** missing separator.  Stop.
gmake[1]: *** [CMakeFiles/Makefile2:174: ajantv2/CMakeFiles/ajantv2.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
````
2025-04-16 12:47:22 +02:00
Martin Pulec
3aa6c398f8 CI PCP: change also repo URL
There is a redirect from libpcp/pcp.git but it is better to have this
explicitly.
2025-03-27 09:54:22 +01:00
Martin Pulec
d6a42b38e3 CI PCP ARM Linux: Debian 11 build fix
Debian 11 has autoconf v0.69 only but the PCP configure.ac now requires
2.71, perhaps needlessly.
2025-03-27 07:36:15 +01:00
Martin Pulec
382f2fc26b CI PCP: fix another breakage [Win]
The development in PCP seem to be very turbulent these days and it breaks
Win builds often so pin a commit in Windows CI until the situation calms
down a bit.
2025-03-21 14:51:39 +01:00
Martin Pulec
1970dafe2e CI PCP Win: most of incompat is now fixed upstream
Most of the incompatibilities, which were patched, have already been
fixed in upstream.

just forward decl of struct timezone/timeval is still needed
2025-03-18 16:07:17 +01:00
Martin Pulec
d670e2ebee CI PCP Win: patch rather than using old version
IP*PKTINFO is defined by the Mingw-w64 headers but the structs
(eg. msghdr or cmsghdr) as defined in RFC 3542 seem to be called
differently (WSAMSG, WSACMSGHDR).

So the compat will be perhaps still required unless PCP adds support
for Win structure names. The other changes are just fixing Win-specific
headers (which may be fixed in PCP upstream eventually).

Also moved dummy Git identity setting to enfironment.sh (is now needed
also for MSW).
2025-03-18 14:15:34 +01:00
Martin Pulec
2b0433483a CI PCP Win: compat
Recent development in PCP breaks the compatibility with MSW so use an
older version for now. Restoring the compat would require some effort.
2025-03-18 14:08:40 +01:00
Martin Pulec
2eef4963ef CI Linux: current live555 build fix
Version 2024-10-24 expects std::atomic_flag::test(), which is a C++20
feature but can be omitted if NO_STD_LIB is defined. (passing -std=c++2a
won't help because U20.04 libstdc++ doesn't contain that method).
2024-10-30 13:25:20 +01:00
Martin Pulec
a893667a52 CI Win AJA: built libajantv2 rename
Built libajantv2 has now a different name:
```
2024-07-25T10:26:49.7807780Z      Creating library D:/a/UltraGrid/UltraGrid/libajantv2/build/ajantv2/Release/ajantv2_vs143_MT.lib and object D:/a/UltraGrid/UltraGrid/libajantv2/build/ajantv2/Release/ajantv2_vs143_MT.exp
2024-07-25T10:26:50.0519395Z   ajantv2.vcxproj -> D:\a\UltraGrid\UltraGrid\libajantv2\build\ajantv2\Release\ajantv2_vs143_MT.dll
```
2024-07-25 15:02:00 +02:00
Martin Pulec
a220061494 CI AJA: replaced -DAJANTV2_DISABLE_PLUGINS=ON
with -DAJANTV2_DISABLE_PLUGIN_LOAD=ON

Not sure how it relates, but the former one is not supported and not
disabling the later causes undefined references to mbedtls, eg.:
```
/usr/bin/ld: /usr/local/lib/libajantv2.so: undefined reference to `mbedtls_pk_load_file'
/usr/bin/ld: /usr/local/lib/libajantv2.so: undefined reference to `mbedtls_pem_init'
/usr/bin/ld: /usr/local/lib/libajantv2.so: undefined reference to `mbedtls_pem_read_buffer'
/usr/bin/ld: /usr/local/lib/libajantv2.so: undefined reference to `mbedtls_pem_free'
/usr/bin/ld: /usr/local/lib/libajantv2.so: undefined reference to `mbedtls_pk_parse_subpubkey'
```
2024-07-25 15:01:46 +02:00
Martin Pulec
8adb8f2c50 current live555 compat 2024-07-19 12:01:52 +02:00
Martin Pulec
5fdab70595 CI live555: add -fPIC
The -fPIC argument is needed for live555 on arm64 Linux.
2024-06-12 08:13:11 +02:00
Martin Pulec
8ee1db3604 CI live555: moved needed C++ flags to CXXFLAGS 2024-06-12 08:13:04 +02:00
Martin Pulec
fde605f2b8 CI: arm build fix
The commit bd91d16b (2024-05-31) causes the live555 being build on all
platforms, including arm Linux. But the plaform is not valid for that,
so replace linux-64bit with linux.

Also enforce live555 in this case.
2024-06-12 08:12:53 +02:00
Martin Pulec
cedf2b516b CI live555: pass the CPLUSPLUS_COMPILER always
Although not required for platforms other than Linux, it doesn't hurt
if we use this always (reduce script size and complexity).

\+ also removed setting CC/CXX for Win - perhaps no longer needed but
the second is now overriden, anyways (CPLUSPLUS_COPILER is set to CXX
by default but we override it)
2024-05-31 16:33:34 +02:00
Martin Pulec
bd91d16b27 CI: common live555 handling 2024-05-31 16:04:45 +02:00
Martin Pulec
0ed7d449bc CI: cache AJA build [Win]
Since we must now build the new libajantv2, which takes some 3 minutes,
cache the build in order not to increase the build time.

Also use libajantv2 path for the SDK instead of AJA (doesn't require
unneeded rename), which will be Windows specific.

Only do it in MSW, since the build is slowest. But it can be easily used
also for other platforms.
2024-05-31 16:04:45 +02:00
Martin Pulec
a735dac86a CI+build Win: use libajantv2
Use libajantv2 + switch the build system to the new lib at the same time
(it is easier and there is perhaps not a big advantage to splitthis to
2 steps).
2024-05-31 16:04:44 +02:00
Martin Pulec
d3e7abf213 CI libajantv2: install in a common script 2024-05-31 16:04:44 +02:00
Martin Pulec
e38af98538 CI mac: small updates for arm64
- missing sudo
- /usr/local/include mkdir for EWS
2024-02-09 12:14:22 +01:00
Martin Pulec
3a076d2482 CI mac arm64: disable cineform+Deltacast
- cineform seems to be unsupported altogether
- Deltacast should work but it doesn't seem so
2024-02-09 12:14:22 +01:00
Martin Pulec
9ec041255a gh/scripts/install-common-deps.sh: improve sudo compat
simplified when sudo is not used (MSW or with root) by creating empty
alias and call it as usual.
2024-01-25 17:07:42 +01:00
Martin Pulec
be84cf8ab0 CI: limit CMake build with logical cores
This fixes all occurences of `cmake --build` as it already was in one
case with commit HEAD~7.

If omitted, CMake leaves the number of processes used on underlying
implementation, which turns out to `make -j`, thus unlimited number of
cores, which is undesirable.
2024-01-25 17:07:42 +01:00
Martin Pulec
e92385abcc CI Win: cache CineForm build
This saves some 2.5 minute from the Windows runner run time.

There is also commented-out code to download the Release Asset directly
from CineForm GH. This unfortunatelly doesn't work right now (commented
in the file).
2023-11-16 16:26:10 +01:00
Martin Pulec
94735192eb install-common-deps.sh: do not require GITHUB_WORKSPACE
allows running the script alone to replicate the build env
2023-09-14 16:11:39 +02:00
Martin Pulec
2295b6a109 CI ARM: enable holepunch,speex,ews and zfec
- cmake needs to be held in a specific version because the more current
  version doesn't work with chrooted qemu-user-static arm
2023-03-16 14:00:20 +01:00
Martin Pulec
585fb29313 CI: patch Cineform 2022-09-08 12:07:56 +02:00
Martin Pulec
ae7610e19b CI: Cineform build - factor common code
generalize compilation for Linux+mac
2022-09-08 11:13:44 +02:00
Martin Pulec
cc83029b0f shellchecked .github/*sh 2022-08-23 13:19:08 +02:00
Martin Pulec
ace75e51e8 CI: install-common-deps.sh: nproc mac compat
+ use nproc for cineform compilation
2022-08-23 13:19:03 +02:00
Martin Pulec
c321ed4cc0 GitHub CI C/C++: use PCP from upstream
It should be now able to build in Windows.
2022-02-23 10:17:19 +01:00
Martin Pulec
f59ca12da4 GitHub CI: take EWS from upstream
Our compatibility fixes were already merged so we can use the code from
upstream.
2022-02-09 10:02:48 +01:00
Martin Pulec
66140e1f3e zfec configure+CI: use /usr/local/src
- install only zfec subdirectory, not whole repo
- macOS blocks creating files directly in /usr(/src)
2022-02-03 15:41:10 +01:00
Martin Pulec
7c613e380a GitHub CI: install also zfec to /usr/src
Although nowadays rarely used, /usr/src is a convenient place for
system-wide sources (aka libraries), so use it. Also it also removes the
need for hard-coded path.
2022-02-03 15:41:09 +01:00
Martin Pulec
dea2c0a5aa GitHub CI [Linux, Mac]: install Cineform normally
In order not to depend on hard-coded path.
2022-02-03 15:41:09 +01:00
Martin Pulec
fb1bd77bfb GitHub CI: download zfec/cineform directly from upstream
+ removed gpujpeg/cineform from monitored paths in workflow file
2022-02-03 15:41:08 +01:00
Martin Pulec
a2274bd1af GitHub CI: install EWS from GitHub 2022-01-31 16:29:18 +01:00
Martin Pulec
e3d9cdb36a GitHub CI libjuice: fixed Win build
- set generator to UNIX Makefiles
- set installation path explicitly to /usr/local, otherwise it installs
  to program files
2022-01-13 16:59:01 +01:00
Martin Pulec
fb79b23ef9 GitHub CI: enable UDP hole punching 2022-01-12 15:05:27 +01:00
Martin Pulec
ee4bdbf34a Make zfec optional 2021-03-09 16:05:36 +01:00
Martin Pulec
abdb185a71 GitHub CI: build PCP with -fPIC
Currently needed for branch vr which builds UltraGrid as a library
2020-12-09 09:28:23 +01:00
Martin Pulec
8f09b9d227 Added PCP NAT traversal 2020-11-30 16:31:25 +01:00