Commit Graph

297 Commits

Author SHA1 Message Date
Martin Pulec
193c8d5ab1 minor fixes
- coverity-scan.yml: typo
- configure.ac: misleading message if SDL not found -> do not mention
version at all, it was perhaps meant "didn't found any version" but it
might have also been that did't found specified version...
- configure.ac: removed sdl_mixer from summary
2025-09-04 10:40:22 +02:00
Martin Pulec
7fc5380d18 Coverity CI: use own caches
Coverity CI uses ubuntu-latest but C/C++ CI ubuntu-22.04, so that the
builds won't be compatible.
2025-09-03 09:49:34 +02:00
Martin Pulec
28e8ca872b Coverity CI: do not check coverity_token in every step
This reverts 960d2315 (2022-02-21) because the commit 18f049608
(2022-04-20) already restricts the scheduled run to CESNET Git repository
or manual push.

So that the token unavailability should be considered error and thus the
condition doesn't need to be re-iterated in every step.
2025-09-03 09:13:58 +02:00
Martin Pulec
a3906013e1 Coverity CI: sync with master YAML 2025-09-03 08:58:18 +02:00
Martin Pulec
d473bc00d0 CI Linux: fix wrong token name for cache
not a big problem - hash of appropriate fie included in the key
2025-09-01 08:45:24 +02:00
Martin Pulec
14b41852d2 CI Linux: build up-to-date glfw 2025-08-28 09:20:28 +02:00
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
ed78a761fe CI Linux FFmpeg: consolidate to a single script
in similar fashion as already done for install_sdl.sh

As a bonus, we do not need to depend on whole prepare.sh for cache
rebuild but only on this script, which is perhaps cleaner and may
yield less rebuilds. Also prepare.sh is slightly easier.
2025-08-28 08:48:18 +02:00
Martin Pulec
0cfe4b6b0f CI Linux SDL: consolidate
add all to one script with deps/build_install/install_cached actions

- yml - use action @main
- cache: do not depend .github/scripts/Linux/prepare.sh, just the
catch-all SDL install file
- build SDL,SDL_ttf without entering the dir (as fluidsynth already does)
2025-08-28 08:48:16 +02:00
Martin Pulec
6eb185bda8 CI Linux: build SDL3
based on 9eb376ee38
2025-08-27 12:13:08 +02:00
Martin Pulec
3a60095d58 CI: enforce fluidsynth, do not require sdl_mixer 2025-08-27 09:00:21 +02:00
Martin Pulec
36ab104675 CI macos-14: fix /usr/local/opt not being present 2025-07-15 09:52:27 +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
a10bc18ae4 GH arm+coverity builds: add -f to curl
in order to fail on 4xx HTTP errors
2025-07-15 09:20:42 +02:00
Martin Pulec
8adbafcda9 gh/arm/bootstrap.sh: pass GITHUB_TOKEN
to avoid GH rate-limit
2025-07-15 09:20:37 +02:00
Martin Pulec
1ba9fbd609 ccpp: update etags handling
Print the output variable assigned in the script in case that this
fails, otherwise it on the output without NL and will be prepended to
next var (if any).

This also simplifies the call in YAML.
2025-06-26 14:26:52 +02:00
Martin Pulec
64a3e9f31d ccpp.yml: XIMEA has separate pkg fox x64 and arm64
runner.os = macos
matrix.os = macos-13 or macos 14

(combination runner.os + runner.arch would also work)
2025-06-26 14:06:57 +02:00
Martin Pulec
fcda8ab72f coverity-scan.yml: use get-etag.sh
+ fail if not able to fetch (same as in ccpp.yml)
2025-06-20 14:59:19 +02:00
Martin Pulec
1d4dc17051 CI Mac,Win: set env prior to etags fetch
XIMEA_DOWNLOAD_URL is set by the environment.sh file
2025-06-20 14:59:18 +02:00
Martin Pulec
0a9bc4be68 CI improve etag handling
- simplify: do not handle more items (unneded)
- unless optional specified, fail early
2025-06-20 14:59:18 +02:00
Martin Pulec
98caf82455 Linux ARM CI: preserve env with sudo also for build
see the previous commit

This changes the manual handling introduced by the commit 925db63e. Also
$FEATURES are not passed explicitly as added in the commit 9eb29225.
2025-04-15 08:27:10 +02:00
Martin Pulec
30bc396d13 Linux ARM CI: pass env vars to chroot
fixes XIMEA_DOWNLOAD_URL not passed
2025-04-15 08:24:14 +02:00
Martin Pulec
937d07ded2 CI: fix XIMEA URL 2025-04-04 11:58:23 +02:00
Martin Pulec
fb022f2d1b CI Linux: switch to ubuntu-22.04
ubuntu-20.04 GH image is being deprecated and will be eventually removed
from GH
2025-03-07 09:03:06 +01:00
Martin Pulec
40f7bb76c2 CI (all workflows): rename cache check/fetch step
Instead of use "Cache XY" use more techical "Run action/cache for XY"
(similarly as implicit name when "name" key was not used).

Although the action is really actions/cache, the problem with the previous
name is that it actually doesn't cache the named item. It checks, and
if found loads, the item. But even if the item is not found, the action
reports success in GH web UI, which is quite misleading. So using rather
neutral name for the step should slightly decrease the confusion.
2025-01-03 11:23:05 +01:00
Martin Pulec
a4c1268ee0 ARM CI: use GH runner ubuntu-22.04
Use runner ubuntu-22.04 instead of ubuntu-latest. Because ubuntu-latest
has switched to ubuntu-24.04 recently, whiich breaks the build for arm64.

There seem to be an unresolved bug in QEMU >= 8.1
(U24.04 has v8.2.2) when using ARM64 and bullseye:
<https://gitlab.com/qemu-project/qemu/-/issues/2377>.

(ARM64 buster and bookworm, as well as ARMHF, may be fine as indicated
in the bug description.)

This can be reverted later (either when fixed in QEMU or when switched
the chroot to bookworm). But it shouldn't matter much, anyways, since this
is just the "host" environment.

Also include runner ver in chroot key because it seem to make a difference
from the above..
2025-01-03 10:38:17 +01:00
Martin Pulec
22c800d7e7 CI ARM: fix qemu not being present in U24.04
the package `qemu` is no longer present in U24.04, which is now
ubuntu-latest default Ubuntu version as a GH runner. But we don't need
it, we use just the static version (qemu-user-static).
2025-01-02 15:13:02 +01:00
Martin Pulec
1edef2b0c8 .github/scripts/macOS/prepare.sh: suppres brew out
suppress `brew list` output

It is used just to check if a package is installed and the output is
print is output to stdout. To stderr is print that it if the package is
not installed.
2024-11-25 09:06:41 +01:00
Martin Pulec
4977da090b CI macos: re-enable DELTACAST
The file name has changed and --enable-deltacast was used just if the
download succeeded (which didn't).

Fixes the commit 98d4969b (2024-05-24) that disabled deltacast, because
the archive was not downloaded due to wrong name.
2024-10-24 16:14:34 +02:00
Martin Pulec
e1c747e966 CI mac: use macos-13
macOS 12 is no longer supported and as Homebrew has a policy, that it
compiles packages from sources on unsupported macOSes, it is needed to
switch to newer macOS to keep reasonable build times.
2024-09-19 16:18:59 +02:00
Martin Pulec
662f209f65 CI README DELTACAST: update used links 2024-08-22 11:42:20 +02:00
Martin Piatka
2f601f5ccd CI Win: Dependencies for screen capture 2024-07-08 16:04:20 +02:00
Martin Pulec
b57680dd68 CI: suppress brew list output for uninstalled
the message: `Error: No such keg: /opt/homebrew/Cellar/asciidoctor`
is now print on stderr, which disturbs GitHub CI (complains about it in
action summary annotations; just a warning).
`
2024-06-25 15:08:29 +02:00
Martin Pulec
ce0ed361c8 CI NDI: use v6 2024-06-25 15:08:29 +02:00
Martin Pulec
9eb292252e CI Linux arm: use common build flags
Some features that are used by x86_64 Linux build are disabled, for the
rest dependencies are installed.

disabled:
- CUDA features (except of NV Jetson usually there is no CUDA)
- lavc vdpau (similar to CUDA, it is primarliy NV-focused API)
- Qt GUI
- Cineform (doesn't compile on ARM)

dependencies installed:
- libsdl2-ttf-dev
- libsdl2-mixer-dev
- libva-dev
2024-06-12 10:57:52 +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
b1ea13a628 CI mac: install jq only if not installed
refer the commit d10a9d5c
2024-05-28 12:03:55 +02:00
Martin Pulec
f2ba6e81ba CI macOS: skip sign+notarize step if $apple_key_p12_b64 undef
\+ error from the notarize script if called

Previously (since commit 1c7c3ac1), the script silently exitted without
cigning and notarizing the app, which may harden debugging. Now the skip
is explicit and if the script is called anyways, it returns error.

enhances the commit 1c7c3ac1 (2024-03-22)
2024-03-25 09:01:13 +01:00
Martin Pulec
f5467237ae CI Linux: download rav1e build instead of building own
Building rav1e requires nasm 2.15 (if asm is not disabled) while U20
has just 2.14.02, so that the build in CI currently fails, anyways.

Pick sse4 for now but expect using avx2 version later, depending on
UG_ARCH value.

\+ populate PKG_CONFIG_PATH immediately
2024-03-20 14:16:08 +01:00
Martin Piatka
2ba28b0a7e CI: Build armhf on bullseye
The rpi hw accel requires a more recent ffmpeg
2024-03-12 13:39:37 +01:00
Martin Pulec
1cce11666e CI mac: do not handle VideoMasterHD manually
Use the installer and rely on dylibbundler v2 to deploy the framework
correctly.

Note: in the macOS/install_others.sh script, make sure that the env var
modification is global (== not just in the subshell) in order to be updated
by subsequent commands in the same script.
2024-02-12 11:57:48 +01:00
Martin Pulec
86b4c0696d CI mac: move signing key import to environment.sh
The signing key is actually needed in the ccpp.yml workflow earlier than
`prepare.sh` is run, namely in cache-macos-nonfree-sdks step.
2024-02-09 16:44:26 +01:00
Martin Pulec
ed57143615 CI: added mac arm64 build 2024-02-09 12:46:17 +01:00
Martin Pulec
dbe6fff795 CI mac: added arch string
to identify if the build is arm64 or x86_64
2024-02-09 12:46:03 +01:00
Martin Pulec
f54382d44e CI mac: use -msse4.2 only on x86_64 2024-02-09 12:45:49 +01:00
Martin Pulec
ba1f2038a5 CI: actions/cache: use main branch
see previous commit
2024-01-30 10:56:24 +01:00
Martin Pulec
9c1420ac6f CI: actions/upload-artifact skip version
fixing complains:
```
Node.js 16 actions are deprecated. Please update the
following actions to use Node.js 20: actions/cache@v3,
actions/upload-artifact@v3. For more information see:
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
```

Use the main branch instead of hard-coded the version to eliminate
the needs to such small/technical fixes in future. Taken from:
<https://stackoverflow.com/questions/73256369/using-the-latest-version-of-a-github-action#73259281>
2024-01-30 10:33:51 +01:00
Martin Pulec
7393a244f8 CI: fixed checkout@v3 deprecation
"Node.js 16 actions are deprecated. Please update the following actions
to use Node.js 20: actions/checkout@v3. For more information see:
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/."
2024-01-25 17:07:43 +01:00
Martin Pulec
f80943216f CI mac: if unable to umount dmg, try again
`hdiutil umount` occasionally fails with `hdiutil: create failed -
Resource busy`. Perhaps some macOS process is touching the content
of the DMG (there are some reports in different GH about
`XProtectBehaviorService` or something).

refer to GH-367
2024-01-05 10:33:53 +01:00