Commit Graph

256 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
3756b8d049 CI ARM: modernize
removed deprecated features
2023-09-25 10:54:32 +02:00
Martin Pulec
bca280918d CI ARM: update to bullseye 2023-09-22 12:56:11 +02:00
Martin Pulec
82d888e62a CI: fix macOS signing
Since 291c58781 (yesterday) the bundle is created dirctly inside the dir
root, not gui/QT/uv-qt.app (where it is now only the build GUI without
other things).
2023-07-04 10:13:48 +02:00
Martin Pulec
7da1be7911 mac CI: fixed distcheck
final bundle path has changed

+ [Makefile.am] the targets were not overriden
2023-07-03 11:14:05 +02:00
Martin Pulec
c2e6349238 C/C++ CI: rebuild on any data/ subdir change
previously only data/scripts/ were watched

most of the remaining files are deployed for bundle (eg. data/update.mac
in previous commit) so watch all
2023-05-15 12:27:58 +02:00
Martin Pulec
b8ce258d4d sdl_mixer: try to open from common path
Copy sounfont to known path for macOS and Windows CI builds (in Linux,
this is already handled with a environment var SDL_SOUNDFONTS). And also
use that location if there is any soundfont.
2023-04-28 10:15:11 +02:00
Martin Pulec
028ef7b45e Coverity CI: set schedule also to Tue 4:00 UTC
aligned with ARM builds (same date)

having the timer more often provides quickier feedback
2023-04-04 15:47:49 +02:00
Martin Pulec
9eb376ee38 CI Linux: do not build own SDL2 anymore
SDL2 now obviously works on U20.04, because we are building there. It
doesn't work on U22.04, but neither the build with SDL 2.0.20 nor 2.26.2
does.

The problem seems actually to be the inclusion of Wayland libraries in
AppImage.
2023-04-04 12:49:46 +02:00
Martin Piatka
eb7406f06e CI/Linux: Migrate to Ubuntu 20.04 2023-04-04 10:46:16 +02:00
Martin Pulec
28431e2784 ARM CI: fixed cron schedule line
fixes commit 88d7d1eb
2023-03-29 14:54:18 +02:00
Martin Pulec
88d7d1eb8a CI ARM Linux: run every week on Thursday
Caches are deleted if not used for 7 days so if run every week, the
cached environment remains preserved.
2023-03-24 14:06:50 +01:00
Martin Pulec
4f1c1e8999 CI Windows: use curl in bash instead of pwsh 2023-03-23 09:31:34 +01:00
Martin Pulec
4cd7301fae CI Windows: use yaml shell directive
Use MSYS2 shell for Windows runner by default. This makes the workflow
job somehow more natural and easier.

+ `command -v windeployqt-qt6 >/dev/null` was incorrectly in $()
2023-03-23 09:30:49 +01:00
Martin Pulec
66678e6d83 Coverity CI: install deps
Install FFmpeg and SDL2 from repositories (in C/C++ CI are used custom
builds for those).
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
7ee05dfefd Coverity CI: ensure that NDI is downloaded
Since the commit ee317947, CI-cached NDI installer in Linux was expected
to be downloaded, but this was not true for the Coverity CI, so add the
download to the job as well as a fallback to the script.

fixes failed run

    https://github.com/CESNET/UltraGrid/actions/runs/4464606369/jobs/7840900109
2023-03-20 16:54:12 +01:00
Martin Pulec
25881d6feb CI ARM Linux: install NDI 2023-03-16 14:00:22 +01:00
Martin Pulec
3235dbba53 CI ARM: copy whole .github subdirectory
there will be another files, like install-common-deps.sh that can be used
2023-03-16 14:00:20 +01:00
Martin Pulec
ece4f2d1ca CI Linux x86-64: ensure accels are compiled-in 2023-03-15 09:06:15 +01:00
Martin Pulec
f293d9708d configure: simplified sdl handling
+ do check only if needed
2023-03-14 13:21:21 +01:00
Martin Pulec
faaebc8e06 CI Linux: ensure that GUI doesn't fail in first 10 secs 2023-03-14 09:59:27 +01:00
Martin Pulec
449c03dfcd CI: added caca 2023-03-09 13:27:47 +01:00
Martin Pulec
350489d8e1 CI: require screen capture module
but require only X11 capture in Linux for now (Ubuntu 18.04 is difficult
to compile required PipeWire version).
2023-02-21 08:55:48 +01:00
Martin Pulec
4e43d566fd CI: fix Windows build upload workaround
Used msys/curl instead of clang64/mingw-w64-clang-x86_64-curl for the
upload.

For whatever reason, the other curl variant ceased to collaborate with
GitHub, see failed run (and subsequent ones):

    https://github.com/CESNET/UltraGrid/actions/runs/4223917061/jobs/7334218587

I didn't manage to reproduce it on a local Windows machine so there is
perhaps some hidden factor present.

This change is just a workaround and should be removed when not needed.
2023-02-20 16:58:00 +01:00
Martin Pulec
498605df74 macOS: replace altool with notarytool 2023-02-17 19:03:56 +01:00
Martin Piatka
25987ebc9f CI: Enable manual trigger
Useful for manually triggering a build from a specific branch
2023-01-18 14:29:16 +01:00
Martin Pulec
21cc7be8c7 CI Linux: enable Vulkan
enabled Vulkan build on U18.04 runner
2023-01-17 08:56:32 +01:00
Martin Pulec
785d8c0e75 Coverity CI: use at least 2 processes
see 97c8eed6
2023-01-09 12:09:03 +01:00
Martin Pulec
97c8eed6a4 CI Coverity: fix build abortion
see https://github.com/MartinPulec/UltraGrid/actions/runs/3658131620/jobs/6182827419

For Vulkan, the memory exhaustion perhaps occurs, thus use only one
concurrent process to build.
2022-12-09 17:16:58 +01:00
Martin Pulec
76f713ca16 CI Win: improve potentially space-delim input read
Do not use the IFS magic to handle space-delimited libraries, use "while
read" instead. This should fix accidental fails as here:

   https://github.com/CESNET/UltraGrid/actions/runs/3477335229/jobs/5813393766
2022-11-16 14:03:51 +01:00
Martin Pulec
4cba76e800 CI Linux: moved the code around a bit
It seems like that changing arbitrary packages installed (dependencies
for SDL) cause some FFmpeg dependencies to be rebuild (libvpx, SVT-*).

So revert back to depending on whole .github/scripts/Linux/prepare.sh
but move building/installation of AJA, live555 etc. to separate file
to reduce cached FFmpeg rebuilds at least a bit.

+ removed chmod 777 /usr/local
2022-11-16 11:15:43 +01:00
Martin Pulec
868ddab9be CI Linux: cache built SDL 2022-11-16 11:13:27 +01:00
Martin Pulec
eb8049e90e CI: enable Vulkan for mac + require
except of U20.04 where it currently doesn't run
2022-11-09 09:09:20 +01:00