39 Commits

Author SHA1 Message Date
Martin Pulec
45bb28c9a0 CI: enable SVT-JPEG-XS
only for Win + non-ARM Linux - doesn't seem to be officially supported
in neither ARM nor macOS

configure.ac - require just SVT-JPEG-XS 0.9 as is in msys Win package
(proxy mode commented out - isn't needed to set to "proxy_mode_full"
explicitly, anyways)
2026-02-27 09:22:09 +01:00
Martin Pulec
80c5fdbb22 CI: reenable screen for macos-15-intel runner
AV Foundation backend now works
2026-01-20 10:02:29 +01:00
Martin Pulec
393a2d8e67 GH/scripts/environment.sh: expect pipefail avail
Expect that the shell implements pipefail - as the environment.sh is
run (sourced) always by bash (implicit CI shell for Linux/macOS and
C:\shells\msys2bash.cmd set explictly in Windows).

this changes c1cfe73a (from today)
2026-01-02 16:00:31 +01:00
Martin Pulec
c1cfe73a71 GH/scripts/environment.sh: add -o pipefail
Try to set -o pipefail. The option should be supported since POSIX v8
(2024). Of course it is supported by shells like bash/zsh long time ago
but it was added to dash [here], which is merged to dash 5.13, so it
is not in any Ubuntu version yet. So adding '|| true' to suppress
omission.

XIMEA URL extraction must have been updated 'sed -e "... q"' causes
broken pipe, which becomes now fatal.

[here]: https://git.kernel.org/pub/scm/utils/dash/dash.git/commit/?id=6347b9fc52d742f36a0276cdea06cd9ad1f02c77
2026-01-02 09:42:59 +01:00
Martin Pulec
040c5c7eb5 CI: use macos-15-intel
screen must be disabled here because the Core Graphics API for screen
capture is being deprecated/removed in macOS 15.

closes <https://github.com/CESNET/UltraGrid/issues/485>
2026-01-02 09:42:59 +01:00
Martin Pulec
5de91b212f configure: testcard-extras - move to testcard2
The sdl_mixer audio capture has gone and there remains just TTF, which
can be considered as an optional feature for testcard2.
2025-09-29 14:44:28 +02:00
Martin Pulec
a15d3d0d95 CI: environment.sh: set -eu
the script is sourced so errexit+nounset is perhaps not yet set

But it is better to exit early, especially when setting the environment
variables that are considered a prerequisite.
2025-08-28 08:48:18 +02:00
Martin Pulec
6e8a62bf1c CI: use SDL3 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
c0d88af1ce CI mac: add libbacktrace 2025-08-14 08:08:36 +02:00
Martin Pulec
624bd0f517 CI Linux: enforce libbacktrace
In Debian/Ubuntu, libbacktrace is part of libgcc-XY-dev package so no
need to install anything (but this doesn't hold eg. for Arch where this
is a packed as a standalone package libbacktrace).
2025-08-13 15:01:33 +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
937d07ded2 CI: fix XIMEA URL 2025-04-04 11:58:23 +02: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
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
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 Piatka
3385323173 CI: Disable drm disp for x86 builds 2024-09-16 16:03: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
111207abf1 CI macOS: swap version and arch position
was UltraGrid-<arch>-<version>.dmg (eg. UltraGrid-arm64-1.9.2.dmg),
which is not consistent with other platforms,
eg. UltraGrid-1.9.2-x86_64.AppImage and UltraGrid-1.9.2-win64.zip. The
one with the version just after UltraGrid seems to be more natural.
2024-05-21 12:56:45 +02:00
Martin Pulec
a88e99bdc4 gh/scripts/environment.sh: expose UG_ARCH immediately
(currently for macOS only)
2024-03-20 14:16:08 +01:00
Martin Pulec
bea0ee1b64 CI mac: signing docu updates
\+ do not check $apple_key_p12_b64 in sign.sh but $KEY_CHAIN and
$KEY_CHAIN_PASS presence, which are used directly
2024-02-09 17:05:28 +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
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
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
00ddaec63c added file display module
just a simple, video only, display at the moment
2023-09-01 13:50:50 +02:00
Martin Pulec
55aa67a094 configure: rename file option to vidcap-file
file alone is not much specific (also not always known from context if
its meant file vidcap or some file in a generic meaning)
2023-08-09 16:08:30 +02:00
Martin Pulec
21b86e4223 GitHub CI Linux: enforce pipewire audio
ensure that Pipewire is built (similarly as with other features)
2023-08-07 12:33:15 +02:00
Martin Pulec
ea9e454a80 CI Linux: enable pipewire screen cap 2023-04-05 09:49:34 +02:00
Martin Pulec
43ccb95a02 .github/scripts/environment.sh: small improvements 2023-03-21 14:02:25 +01:00
Martin Pulec
e8b6fc7b09 .github/scripts/environment.sh improvements
- fixed a shellcheck warning
- documentation
- removed shebang and executable bit to ensure script is sourced
2023-03-20 16:54:28 +01:00
Martin Pulec
c3660529ac CI: moved configure features to environment.sh
- the yaml file is less messed
- all platform features are put together without being spread across the
  respecive jobs in the yaml
- $FEATURES are now used also by Coverity CI
2023-03-20 16:54:15 +01:00
Martin Pulec
cc83029b0f shellchecked .github/*sh 2022-08-23 13:19:08 +02:00
Martin Pulec
4685a2cb84 GitHub CI: build NDI by default if SDK is found
Removed separate NDI handling (branch ndi-build and build it as upstream (if SDK is found)
since NDI is now dynamically runtime loaded.
2022-01-12 13:47:59 +01:00
Martin Pulec
628f3ba74f Add release zsync update files to continuous
As there will be releases 1.7.1, 1.7.2 etc., storing zsync in release
asset doesn't make sense (further version won't update previous update
information). Thus store this in continuous release assets - update
channel "release" was introduced aside to existing "continuous".
2021-11-03 08:55:29 +01:00
Martin Pulec
ec3ffb2753 GitHub CI: updated release life cycle
The release channel is not build from release/ branch, instead a bugfix
version numbers are required and the build is from appropriate tag, eg.
v1.7 (release, should be in master) and then v1.7.1, v1.7.2. The bugfix
releases should have its own entry in NEWS file (create-release.sh makes
GitHub release description from this).
2021-11-02 15:59:49 +01:00
Martin Pulec
57ec5bc009 GitHub CI: ensure that required features are compiled
Prevend unintentionally missing features due to some dependency not
satisfied.
2021-04-08 14:12:52 +02:00
Martin Pulec
bd30c04974 GitHub CI: replaced obsolete set-env and add-path 2020-10-07 13:11:14 +02:00
Martin Pulec
6293f38445 C/C++ CI: build also release
+ distinct name for NDI build
+ small improvements
2020-06-09 09:34:43 +02:00