Commit Graph

589 Commits

Author SHA1 Message Date
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
111a3a6911 CI Linux FFmpeg: updated libde265 patch
ceased to apply with FFmpeg master
2024-01-25 17:07:43 +01:00
Martin Pulec
89c01b0c7e Revert "CI: SVT-HEVC patch temporary workaround"
This reverts commit 354d169e29.

no longer needed, the patch has been updated in upstream
2024-01-25 17:07:43 +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
fdd4fc1283 CI macos: limit number of threads for GLFW make
Using `cmake --build . --parallel` actually doesn't limit the number
of processes because it just passes the number (here none) to make,
resulting in `make -j`.

This is a possible explanations of macOS runner freezes, as eg. here:
<https://github.com/MartinPulec/UltraGrid/actions/runs/7641831068>
(last relevant message in log is `[100%] Built target joysticks`).
2024-01-25 17:07:41 +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
Martin Pulec
683718a285 CI Linux FFmpeg: do not build VPL tools
tools are not required, reducing dependencies and build time

see failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/7386262548/job/20092516404>
2024-01-03 09:17:11 +01:00
Martin Pulec
354d169e29 CI: SVT-HEVC patch temporary workaround 2024-01-03 09:12:54 +01:00
Martin Pulec
5782dfd3cf CI ARM: enforce Pipewire + Vulkan (64b only) 2023-12-04 13:23:59 +01:00
Martin Pulec
07e452c778 CI+make: use system location for Syphon 2023-12-04 10:50:56 +01:00
Martin Pulec
0c2a074c28 Revert "CI Linux: fixed failed run (Vulkan)"
VulkanLoader has been updated, with the CUDA _EXT prefix, which is on
contrary incompatible with Vulkan-Headers v1.3.270.

This reverts commit 62ae77117d.
2023-11-28 08:39:43 +01:00
Martin Pulec
62ae77117d CI Linux: fixed failed run (Vulkan)
fixed failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/7002907554/job/19047571995>

Vulkan-Loader seem to be (temporarily?) incompatible with current Vulkan
Headers, which suffix VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV with
_EXT in v1.3.271.
2023-11-27 10:54:07 +01:00
Martin Pulec
040a6797f2 CI scripts: ennsure that really copying to dir
Following to the previous commit, ensure that we are really copying to
an existing dir, where it is expected by appending '/' to the path.
2023-11-20 08:09:13 +01:00
Martin Pulec
8d9b9964d9 CI Win Cineform: do not copy .pc file
After previous commit, UG configure finds the .pc file because
the file was copied incorrectly before - it is copied to
/usr/local/lib/pkgconfig, which was perhaps not a directory, creating
file _named_ pkgconfig instead the file inside that dir. Interestingly
this didn't look like it influenced other libraries, that might also
want to copy its files to something, that was then file.

But the contents is not usable without adjustnments:
1. prefix is C:/Program Files/CineFormSDK
2. lib is set to -lCFHDCodecShared in the PC file, but generated
library has name just CFHDCodec (something similar as already solved
by 0001-CMakeList.txt-remove-output-lib-name-force-UNIX.patch)

While the pkg-config file was not used previously, it is perhaps easiest
to leave it as it used to be instead of trying to fix the .pc file.
2023-11-20 08:09:11 +01:00
Martin Pulec
424d62eedd CI Win: install natpmp with pkg 2023-11-16 16:26:11 +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
9eab706d6d .github/scripts/Windows/prepare_msys.sh: delta+gpujpeg to fn
Moved the components to its respective functions to be consistent with
the rest of the code.
2023-11-16 14:53:20 +01:00
Martin Pulec
9b855d4641 CI fetch_json: fixed when GITHUB_TOKEN not passed
When GITHUB_TOKEN was not provided, fetch_json didn't work, because it
uses positional arguments ("$@"), which were set only in this case but
not unset otherwise.
2023-11-16 14:53:18 +01:00
Martin Pulec
dc1ff7d21b CI: generalize GH asset download 2023-11-16 14:04:56 +01:00
Martin Pulec
84aab9aff0 man: prefer asciidoctor in macOS (also in CI)
asciidoc seems to be broken in currrent Homebrew
2023-11-14 11:42:37 +01:00
Martin Pulec
4019d611b3 CI: install AsciiDoc
In order to build the manual pages as those are build during UG build
since the previous commits.
2023-11-14 11:13:45 +01:00
Martin Pulec
4e5de7279c Revert "Revert "CI: macOS compilation fix (Vulkan missing hdr)""
Workaround unfortunately still needed:
<https://github.com/MartinPulec/UltraGrid/actions/runs/6769716576/job/18396669215>

This reverts commit 8b233cd68f.
2023-11-06 13:28:19 +01:00
Martin Pulec
635c083e00 CI Windows: cache Spout2 build
Since we are now building Spout2 in CI, it takes some 1:30 minute to
build so cache it not to increase the build time when cached.
2023-11-06 13:28:18 +01:00
Martin Pulec
b98b5ab02c CI Win: build own Spout
closes GH-352

It looks like the pre-build library BUILD/Binaries/x64/SpoutLibrary.dll
is no longer compatible with the headers in Git.

Pre-built library version is 2.007.010 while the latest version on GitHub
is Spout 2.007.012. When building Spout from sources, the referenced
issue no longer occurs. Also the libraries are not expected to be included
in the Git in future (leadedge/Spout2#103).
2023-11-06 10:11:15 +01:00
Martin Pulec
8b233cd68f Revert "CI: macOS compilation fix (Vulkan missing hdr)"
No longer needed - GH macos-12 runner has VK v1.3.268, which doesn't
miss the needed header.

This reverts commit 70d1c5186d.
2023-11-03 16:46:06 +01:00
Martin Pulec
e4ae1eabf3 CI mac: switch to macOS 12 Monterey
Homebrew builds now dependencies from sources on unsupported macOSes
(which is 11 now), which makes it slow. Relevant snippet from brew output:
```
Warning: You are using macOS 11.
We (and Apple) do not provide support for this old version.
It is expected behaviour that some formulae will fail to build in this old version.
It is expected behaviour that Homebrew will be buggy and slow.
```
2023-11-03 16:39:34 +01:00
Martin Pulec
b8e0acf5b8 macOS/sign.sh: don't fail if keychain exists
This makes the script reentrant, allowing to run it also interactively
repeatedly, provided that the `apple_key_p12_b64` and
`notarytool_credentials` environment variables are correctly set.
2023-11-02 12:18:06 +01:00
Martin Pulec
bc50883086 Revert "CI mac compilation fix"
natpmp workaround no longer needed

This reverts commit 6c50f15988.
2023-11-02 10:09:31 +01:00
Martin Pulec
a7f801e44e CI ARM: fixed XIMEA installer URL
Linux ARM installer are no longer part of Linux package but have a
separate one. See failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/6622231780/job/17987434585>
2023-10-24 09:20:33 +02:00
Martin Pulec
20f72cc797 CI macOS workaround: apply only if needed
ensure that if forgot to remove, there won't be issues in future
2023-10-23 09:10:47 +02:00
Martin Pulec
85c8d7fd3e Revert "CI: fix Windows build upload workaround"
no longer needed

This reverts commit 4e43d566fd.
2023-10-23 09:10:47 +02:00
Martin Pulec
acd11ef4cb Revert "CI mac: (self-)update Homebrew"
no longer needed

This reverts commit d6daa8e9af.
2023-10-23 09:10:46 +02:00
Martin Pulec
7162decfb7 CI Linux: XIMEA install workaround
XIMEA instller is currenctly broken (missing file bin/streamViewer.64
in the package). See failed run:
<https://github.com/CESNET/UltraGrid/actions/runs/6589401467/job/17903829041>
2023-10-23 09:10:12 +02:00
Martin Pulec
367f0d2888 Revert "CI: Patch ffmpeg svtav1 to not force keyframes"
No longer needed - fixed in upstream.

This reverts commit a93aa1da94e9ade84008e9238f508656120f0999.
2023-10-20 12:44:58 +02:00
Martin Pulec
69faff2335 CI PipeWire: disable tests
Building tests is not unneeded in CI and it needlessly increases build
time, especially for ARM builds, which are slow.
2023-10-18 16:46:19 +02:00
Martin Pulec
23ca13c724 CI ARM: build PipeWire 2023-10-18 16:46:19 +02:00
Martin Pulec
6d14684c8a CI ARMHF build: switched back to Buster
closes GH-344
2023-10-16 08:33:42 +02:00
Martin Pulec
6f5f514ecd Vulkan raspi compilation fixes
fixed armhf build, possibly also other 32-bit architectures

This also reverts 02cd247978.
2023-10-13 11:23:22 +02:00
Martin Pulec
bec5b67e80 CI ARM: build with own SDL2 on Buster
If building on buster, re-enable own SDL2 (supporting KMSDMS).

Originally added in commit 484ab418, but use SDL 2.0.22 this time.
2023-10-13 09:54:58 +02:00
Martin Pulec
da6ffc3973 CI ARM: Buster armhf compatibility
Allow 32-bit builds on Buster. This has some advantages
regarding supported HW accelerations in UltraGrid, eg. h264_omx is not
supported in higher versions of the system.

It is not enabled by default but can be enabled easily by switching the
value in YAML file.

refers to GH-344
2023-10-13 09:52:22 +02:00
Martin Pulec
8630ca9d3f .github/scripts/Linux/arm/bootstrap.sh: clean-up
Deleted 2 unneeded lines:
1. OLDPWD - not used
2. comment - no longer valid - the cached environment key contains hash
of .github/scripts/Linux/arm/bootstrap.sh, which means that if the file
changes, the old env is not used, anyways
2023-10-12 10:45:17 +02:00
Martin Piatka
a4d4aab9d3 CI: Patch ffmpeg svtav1 to not force keyframes
Forcing keyframes makes the low delay mode (no b-frames) unavailable
2023-09-27 18:51:09 +02:00
Martin Pulec
3756b8d049 CI ARM: modernize
removed deprecated features
2023-09-25 10:54:32 +02:00
Martin Pulec
15d5adc805 CI ARM: do not build mmal on arm64
MMAL headers not present in 64-bit RaspiOS 11 libraspberrypi-dev (but
mmal.pc is still there!)

The MMAL API doesn't seem to be longer supported, see necro-posting
in GH-129.
2023-09-25 09:27:22 +02:00
Martin Pulec
d83662d4da CI ARM: enable RPi stuff also in 64b build 2023-09-25 09:27:20 +02:00
Martin Pulec
02cd247978 CI ARM: temporarily disable Vulkan
doesn't compile right now after upgrading to bullseye
2023-09-22 15:04:20 +02:00
Martin Pulec
bca280918d CI ARM: update to bullseye 2023-09-22 12:56:11 +02:00