851 Commits

Author SHA1 Message Date
Martin Pulec
d13024feb6 CI: handle deprecation of actions/checkout@v4
use main branch instead

As for the other GH actions, use rather the main branch than a fixed
tag. The advantage is that we can avoid these technical commits because
the Node.js actions are gradually deprecated so that we'd need to update
every time it happens (although not often).

Although the actions example suggest using the fixed tags, this
doesn't seem to cause any problems while soe time used eg for
actions/cache. Otherwise, fixed tags may be returned at any time.
2026-03-11 11:22:58 +01:00
Martin Pulec
30b0fc9c96 CI L/W/m: allow running by pushing to the branch 2026-03-06 16:21:08 +01:00
Martin Pulec
a1a16712d7 CI: split ccpp.yml per platforms
The advantages:
- shorter files and more transparent changes (eg. in Git)
- allowing running the job for one platform

This should be mostly a pure refactor - the platform jobs were split as
they were:
- the actual build jobs macOS/Linux/Windows moved to separate files
- the new workflows can (and are) triggered by worflow_call
- in ccpp.yml, the original jobs are now only dispatchedi with uses:
2026-03-06 16:21:01 +01:00
Martin Pulec
1e13d3c938 Revert "CI: run on pull request"
Actually not sure why I've added this since there is no rationale.

Anyways, this seems not to be a good idea at least from the security
POV - can the pull requester modify the workflow files? If so, it can
steal GITHUB_TOKEN and/or do something nesty with the repo.

This reverts commit 656e6fa107.
2026-03-06 11:25:06 +01:00
Martin Pulec
a8b4dbf98b CI mac sign.sh: notarytool override with env var
allow environment variable notarytool (sic) overriding `xcrun notarytool`

(currently needed internally for alt builds to be able to use the sign.sh
script, because the notarytool is not in standard path /actually used
XCode 13 for higher macOS version/)
2026-03-04 15:11:59 +01:00
Martin Pulec
642c707dc1 install-common-deps.sh: rm MACOSX_DEPLOYMENT_TARGET
Seems no longer being needed and it is unclear why it was actually needed.

Run download_build_aja() in subshell (not added when the fn split to
download/install in 2024 with the commit 0ed7d449) to avoid leaking
exactly such variables that can influence further workflow.
2026-03-04 12:49:10 +01:00
Martin Pulec
c6f7c11ede install-common-deps.sh: set -x after help
We are using `set -x` so the output is a bit disturbing when using just -h.
But we can move it past the help (the beginning should not cause problems,
ideally).
2026-03-04 12:48:07 +01:00
Martin Pulec
4ebb13969e CI install-common-deps.sh: allow individual inst
Allow installing individual items in case that someone wants to use it
outsice of CI interactively. Also add help for this case.

This is already done so eg. in .github/scripts/macOS/install_others.sh.
2026-03-04 11:31:57 +01:00
Martin Pulec
e366327553 configure.ac: set C standard to gnu2x for clang<17
to be able to compile normally without setting std in CFLAGS

+ remove it from macos-14 CI

clang 15 as in macOS 14 doesn't support c23 [[attributes]] such as
[[gnu::always_inline]]
2026-03-02 12:52:55 +01:00
Martin Pulec
68a8d7dcfa Revert "CI ARM: temporarily disable aplay/aes67"
This reverts commit 9245675d1b.

after migration to bookworm it compiles
2026-02-27 10:57:26 +01:00
Martin Pulec
a3661006ab update ARM runners to bookworm 2026-02-27 10:57:11 +01:00
Martin Pulec
0eda833282 CI ARM debootstrap: do not check sigs
not really needed (the risk is low) and so remove to simplify

(--no-check-gpg is --no-check-sigs in newer debootstrap versions)
2026-02-27 10:05:07 +01:00
Martin Pulec
65ef40ab55 ci macos-14 runner (arm64) set C standard to gnu2x
Improves the commit 4136c263 from last week - we usually expect gnu
extensions, although doesn't seem to cause problems in this case (but eg.
the asm keywords won't work /not used here because is arm64/ - __asm__
would be required instead).
2026-02-27 09:22:15 +01:00
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
9b6e7e3a35 CI Linux: mark the validation step correctly
is certainly not Docker test
2026-02-25 10:03:43 +01:00
Martin Pulec
dd289a92c6 fix 2 typos
- configure.ac - and -> an (+ extend)
- scheduled CI tests %->$ for rc var
2026-02-23 09:12:45 +01:00
Martin Pulec
9245675d1b CI ARM: temporarily disable aplay/aes67
Uses a features(std::to_chars) not being present in libsdc++ in Debian
11, will be re-enabled after builders updated to Buster.
2026-02-23 08:14:05 +01:00
Martin Pulec
dde604ed73 ARM CI: fix explicit features dropped
with the commit 6e8a62bf (27th Aug 2025) the explicit feature spec was
accidently dropped (missing $@)
2026-02-20 16:26:28 +01:00
Martin Pulec
aee07cbbf5 CI tests: fix infinite loop
Fixed 261df79f which added continue in a loop _prior_ to incrementing
the loop variable.
2026-02-20 16:24:27 +01:00
Martin Pulec
e5a70fd4c2 CI tests: print start/stop message + send kill
- for better debuggability
- -k to avoid hang if UG doesn't exit even after SIGTERM
2026-02-20 16:24:24 +01:00
Martin Pulec
d668d96652 Revert "CI Linux FFmpeg: apply SVT-AV1 patch"
This reverts commit 725cab8d6b.

no longer needed - the patch has been merged in upstream FFmpeg
2026-02-20 15:24:08 +01:00
Martin Pulec
4136c26319 mv r12l_to_gbrp1{2,6}le from lavc to pixfmt_conv
to be able to used also in different places

+ use compat/endian.h (POSIX) macros in BYTE_SWAP
2026-02-20 15:24:06 +01:00
Martin Pulec
261df79fa7 add Spout semi-weekly test + vcap/spout hook
this should have catched the:
<https://github.com/CESNET/UltraGrid/issues/487>

and check also for its regression

+ added get_spout (vcap/spout) Doxy
2026-02-17 16:21:40 +01:00
Martin Pulec
a46429087c add semi-weekly CI tests
for additional testing in addition to what is done by dist check

tested is eg. the Reed-Solomon problem that occured between 1.8.5 and 1.8.6
2026-02-17 16:21:39 +01:00
Martin Pulec
f28c5aaf4a CI Win Spout2: fix MinGW vtable incompat
This together with the previous commit should fix the
<https://github.com/CESNET/UltraGrid/issues/487> problem with current Spout
code (prebuild previous Spout 2-007-016 was used as a workaround until @^).
2026-02-17 10:57:15 +01:00
Martin Pulec
f230d35c52 Revert "CI Win: use pre-built Spout"
This reverts commit b300fa64f4.

we would need to patch the upstream Spout code
2026-02-17 10:56:34 +01:00
Martin Pulec
485851ffcd CI Linux FFmpeg: drop no longer needed workaround
added by the commit 98515da3 in 20th Jun 2025 - effectively reverted
(but the script was renamed in the meantime)
2026-02-17 10:14:27 +01:00
Martin Pulec
e4d3035c1f CI Arch Linux Docker test: add -u to -Sy
It seems like some install fail if we do not upgrade at the same time.

fixes the error:
<https://gist.github.com/MartinPulec/602c195ec03933f826668b3ec1239d02>

+ use more descriptive name for the CI step
+ drop final \ in the Dockerfile (as mentioned in the CI output linked above)
2026-02-17 09:32:22 +01:00
Martin Pulec
426382bc12 Coverity CI: set -u
If the curl for filename fails, do not succeed with restoring the cache
with partial match. This will return false which may be unexpected
(typically this is correlated when the Coverity servers are down).
2026-02-03 09:11:59 +01:00
Martin Pulec
725cab8d6b CI Linux FFmpeg: apply SVT-AV1 patch
current FFmpeg version dd2976b9 doesn't compile with SVT-AV1 commit
9485b939 with following error:
```
libavcodec/libsvtav1.c:240:14: error: ‘EbSvtAv1EncConfiguration’ has no member named ‘enable_adaptive_quantization’
  240 |         param->enable_adaptive_quantization = 0;

```
2026-01-23 13:12:42 +01:00
Martin Pulec
c758c38772 ARM CI: use NDI v6
With v5, NDI doesn't compile because of NDIlib_frame_type_source_change
missing. According to the NDI license, the most recent version should
be used, anyways.
2026-01-20 10:02:30 +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
e5f61f655a CI Linux FFmpeg: updated SVT-HEVC patch
SVT-JPEG-XS has been merged, which was causing the conflicts
2026-01-15 14:48:20 +01:00
Martin Pulec
c3cff06095 CI Win: temporarily revert to Spout 2.007.016
refers to <https://github.com/CESNET/UltraGrid/issues/487>
2026-01-13 10:52:25 +01:00
Martin Pulec
b300fa64f4 CI Win: use pre-built Spout
instead of building own Spout, use pre-built release on GH

This actually reverts the commit b98b5ab0 from 2023-11-06.
Date:   Mon Nov 6 09:08:46 2023 +0100
2026-01-09 15:29:01 +01:00
Martin Pulec
d5c01300d4 docker_appimage_tests.sh: print which test failed
Since the tests are run in parallel (and also there is much output),
it may be difficult to track which one container actually failed so
write at least a summary.
2026-01-07 15:52:06 +01:00
Martin Pulec
af553d6d27 CI Linux install libdecor Cairo plugin explicitly
Instead of ensuring that the plugin is present, instal the Cairo plugin
directly.

The Cairo implementation is the only libdecor plugin present in U22.04
repositories (U24.04 has the Gtk implementation as well).
2026-01-06 11:01:43 +01:00
Martin Pulec
a44e42e520 AppImage: bundle libdecor
both GLFW and SDL load libdecor-0.so.0 by dlopen so it is not going to
be bundled...
2026-01-06 09:02:56 +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
e83a4070f5 create_release (continuous): URL shortcut change
use IMO "prettier" shortcut URLs - UGNightyArchive -> UltraGridArchive
and UGAltBuilds -> UltraGridAltBuilds

While the use of CamelCase is enforced by <https://shlink.io/> UGN...
and UGA.. prefixes is harder to read so use unsortened UltraGrid,
omitting Nightly from UGNightlyArchive (with UltraGrid exceeds 20 char
limits and the Nightly isn't necessary /it is actually continuous/).
2026-01-02 09:42:55 +01:00
Martin Pulec
626fdc6d0d continuous desc: change URLs of archive/alt-builds
moved to different location

Also the new link is a shortcut so it may be re-pointed latter elsewhere.
2025-12-05 10:31:11 +01:00
Martin Pulec
566585c7b8 CI delta SDK: output name explicitly
When non-free SDK path is provided but the server curl automatic path
with -O doesn't work (eg. the downloaded file name is passed in a GET
variable).
2025-12-04 16:50:31 +01:00
Martin Pulec
3b713aae48 CI AJA: use release branch
Use rather branch release instead of main because in main things may
break sometimes.

Eg. currently (libajantv2 commit 9060cc4a), ntv2m31enums.h is not
installed but ntv2utils.h includes that.
2025-12-04 10:39:02 +01:00
Martin Pulec
9832f9d52d ccpp.yml mac: move the items to hide in single cmd 2025-12-02 09:38:18 +01:00
Martin Pulec
de37ee3a70 CI Dockerfile.ubuntu: adjust also for ubuntu-latest
some packages changed its names
2025-11-25 11:55:49 +01:00
Martin Pulec
8b13221a05 CI Linux: run Docker tests in parallel 2025-11-25 11:55:49 +01:00
Martin Pulec
9e7f643aed docker_appimage_tests.sh: simplify
add the version unconditionally in the script and do not add a placeholder
to Dockerfile
2025-11-25 11:55:49 +01:00
Martin Pulec
aa3051dc0e CI Linux AppImage Docker: try also latest Ubuntu 2025-11-25 11:55:48 +01:00