Commit Graph

531 Commits

Author SHA1 Message Date
Martin Piatka
8f6c5fb81e CI Win: Install VC 2010 Redist 2024-07-08 16:04:21 +02:00
Martin Pulec
16150dc8c1 CI mac: do not install NDI lib
not needed and removing it simplifies the stuff greatly
2024-06-25 15:11:59 +02:00
Martin Pulec
09eb5411ed print NDI ver: use NDIlib_version()
Note that the printed now is the runtime version, while in the previous
version it wash the version used (just) for the compilation. Current
inmplementation seem to be better, anyways.
2024-06-25 15:08:29 +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
b88d0c4218 CI NDI: do not repeat downloads in install scripts
NDI SDK should be already downloaed from the step before in the YAML.
2024-06-25 15:08:26 +02:00
Martin Pulec
c8b1e6859d CI Linux FFmpeg: patch VP9 FFmpeg patch
temporarily again incompatible with current FFmpeg HEAD
2024-06-25 09:38:22 +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
e7014492b7 CI Linux arm: fixed drm option 2024-06-12 10:23:11 +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
47c492ffb9 CI Win: CUDA/MSVC incompatibility fix
Latest MSVS 2022 17.10.34928.147 (MSVC v14.40.33807) in GH runner
20240603.1.0) is no longer compatible with CUDA 11.8.0.52206. CUDA refuses
to compile because of unsupported compiler. Previous version 17.9.34902.65
(GH runner 20240514.3.0) was OK.

As MSVS 2022 is supported by CUDA 11.8 in general, we can pass
-allow-unsupported-compiler flag.
2024-06-07 10:40:19 +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
3cbd01a8e6 CI mac: use libajantv2
move cmake call with flags to a common function
2024-05-31 16:04:44 +02:00
Martin Pulec
f77763dcd5 CI Linux: use libajantv2
also build the library shared
2024-05-31 16:04:44 +02:00
Martin Pulec
a4a2baf32e move some template files to auto places
- moved ultragrid-bugreport-collect.sh to doc (will be bundled automatically)
- moved data/MacOS-bundle-template to data/template (just a move)
- added data/template/README.md
2024-05-31 16:04:42 +02:00
Martin Piatka
dd8e8efb47 CI/arm: Enable DRM display 2024-05-22 10:10:22 +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
d10a9d5cc7 CI macOS: install only not installed brew formulas
The GitHub actions now complain if trying to install a formula, that is
already installed, eg:
```
  run macOS (macos-14)
  pkg-config 0.29.2_3 is already installed and up-to-date. To reinstall 0.29.2_3, run: brew reinstall pkg-config

```

As a workaround, install just the formulas, that are not already
installed.
2024-05-20 08:52:40 +02:00
Martin Pulec
98d4969b84 CI macos: adapt to new DELTACAST packages
see previous commit
2024-05-07 13:36:22 +02:00
Martin Pulec
5a10b1a614 CI Win: adapt to new DELATCAST packages
See:
<https://www.deltacast.tv/media/30987/changenotice_videomaster625_installers_and_distribution_packages.pdf>
2024-05-07 12:50:17 +02:00
Martin Pulec
b348d32547 CI Windows: install clang gcc-compat
No longer installed automatically, causing gcc from mingw64 MSYS2
environment being used (autoconf defaults to gcc).
2024-04-23 16:14:50 +02:00
Martin Pulec
8074e26ca4 CI Linux FFmpeg: do not build own libx264
added by the commit f3003ed1

For the original reason it is no longer needed (the higher bit depth
x264 is already included in distro repositories). Anyways, the version
of libx264, that will be installed, is taken from ppa:savoury1/vlc3,
anyways (newer one).
2024-04-12 10:56:56 +02:00
Martin Pulec
d5af762fe4 CI Windows: build CUDA stuff for CC 3.5
Kepler cards are still (and few months will be) supported by NVIDIA.
2024-04-09 07:55:33 +02:00
Martin Pulec
9aada40c4e Revert "CI FFmpeg Linux: pin Vulkan-Headers"
No longer needed. Moreover, this now prevents the FFmpeg build.

This reverts commit b8f4d15df4.
2024-04-08 10:38:24 +02:00
Martin Pulec
21f4627af5 CI Windows: install Vulkan
Supposedly, it has been installed as a ffmpeg dependency but now the
MSYS package depends just on vulkan-loader, not headers.
2024-03-25 11:03:52 +01:00
Martin Pulec
8d1a36916d .github/scripts/macOS/sign.sh: added usage notice 2024-03-25 09:16:43 +01: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
1c7c3ac196 CI macOS: do not fail on sign if no keys
If no signing keys available, the expected behavior is rather to skip
signing instead of failing, which is unintended because of shell check
for unset variables (set -u).
2024-03-22 16:04:13 +01:00
Martin Pulec
393b67ef7f CI FFmpeg Linux libde264 patch: removed reordered_opaque
dropped from upstream
2024-03-20 14:45:20 +01:00
Martin Pulec
b2eb8d3f79 CI Linux FFmpeg: updated libde265 patch
rebased with the current FFmpeg code
2024-03-20 14:16:09 +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 Pulec
a88e99bdc4 gh/scripts/environment.sh: expose UG_ARCH immediately
(currently for macOS only)
2024-03-20 14:16:08 +01:00
Martin Piatka
8c3c51b2e0 CI: ARM: Add libv4l-dev (v4lconvert) 2024-03-12 13:39:37 +01:00
Martin Piatka
bd20894c11 CI: ARM: remove old rpi hwaccel flag 2024-03-12 13:39:37 +01:00
Martin Pulec
448c19f69b CI Windows: add include path for MSVC
src/libavcodec/*cuda* includes FFmpeg headers, so provide them also for
MSVC (which is used to compile CUDA).
2024-03-08 16:11:47 +01:00
Martin Pulec
d74922e443 CI: install gcc 10 only in U20.04
This modifies the commit 7f166a2411. Although Linux CI is run with U20.04,
Coverity workflow uses ubuntu-latest, which is currently 22.04, where
default gcc is actually 11 and this breaks GPUJPEG compilation with
error starting with:
```
-- The C compiler identification is GNU 10.5.0
CMake Error at /usr/local/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:780 (message):
  Compiling the CUDA compiler identification source file
  "CMakeCUDACompilerId.cu" failed.

  Compiler: /usr/bin/nvcc
```

fixes failed run <https://github.com/CESNET/UltraGrid/actions/runs/7968323068>
2024-02-28 12:15:39 +01:00
Martin Pulec
bcef2372d6 CI Mac GLFW patches: host again in main repo
This is perhaps better than hosting it aside, the patches are UG-specific,
anyways.
2024-02-16 15:23:35 +01:00
Martin Pulec
bf09d1cdca CI: add sountfont, not download
The size is only some 90 kB when compressed so it is perhaps not worth
downloading from external source and depend on it.

It could be even bundled directly, not by CI. Now it is actually the case
in Linux (create-appimage.sh) but it is also possible for other platforms.
2024-02-13 16:44:31 +01:00
Martin Pulec
5ef864729d CI mac install_others.sh: ensure vars visibility
Make some variables, which may be adjusted by subsequent commands,
visible outside the subshell.
2024-02-13 16:42:43 +01:00
Martin Pulec
bbed291a95 CI mac: remove NDI 4 compat
unneeded and removing will ease refactor
2024-02-13 16:04:37 +01:00
Martin Piatka
0fac525e6f CI: MacOS: Fix deltacast install 2024-02-13 14:00:26 +01:00
Martin Piatka
7f166a2411 CI: Ubuntu install gcc-10
FFmpeg refuses to build on gcc 9, because of missing intrinsic
_mm256_loadu2_m128i
2024-02-13 13:59:04 +01:00
Martin Piatka
6bd76fcb4c CI: Fix Win jack download 2024-02-13 13:05:15 +01:00
Martin Pulec
3ff011341e CI mac: enforce /Library/Frameworks for Syphon
In CI on x86_64, for some reason, the path defaults to
/Library/Frameworks, while otherwhere to @rpath. So enforce to
/Library/Frameworks to be deterministic.
2024-02-12 14:18:47 +01:00
Martin Pulec
93f9dd074f build/CI macOS: do not handle Syphon specially
\+ build x86_64 from source as well to:

   1. be consistent with the arm64 build
   2. the binary x86_64 already had hardcoded the path @loader_path/../Frameworks/
   instead of @rpath, which would require yet another handling
2024-02-12 11:57:48 +01:00