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)
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;
```
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
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.
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).
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)
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
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/).
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.
run the same test cases for both Arch Linux and Ubuntu
+ rename Dockerfile.arch to Dockerfile.archlinux (the former is a bit
misleading - arch==architecture or what?)
ensure URL is not empty
see also f4f54fda - adding -f to curl caused URL to be empty if release
was not found (was to be created) - the GH REST API returns 404 with
a valid body without -f but fails with empty. Since `-o pipefail` is not
used, the curl error was not used because last command of pipeline is jq.
The REST API returned 4xx on unknown object but valid JSON body. As
written originally, valid JSON was assumed (result queried on null).
So revert back the original curl calls where acquiring JSON.
- '|| true' no longer needded
- CFLAGS also doesn't seem to be required
- remove --disable-shared - when possible, linkling dynamic library may
be rather preferred than the contrary
compute SHA256 checksums for builds
this is useful at least for 2 reasons:
1. user can ensure that the build comes really from the CI (isn't
tampered)
2. can identify or match version with appropriate action run (the $VERSION
is usually always "continuous", except for releases)
The sha256 sum is currently only show in the protocol, not uploaded
to GH releases - this doesn't seem to be needed because GH currently
already prints the checksum by itself on the download (releases) page.
Skip computing checksum in Win when uplad-artifact is used - the zip
is actually created by the Action so we cannot compute the checksum
on it.
/sbin/sha256sum is not present in CI mac workers for some reason
CMAKE_OSX_SYSROOT is empty by default since CMake 4 [1] so make a workaround
MSCOS_SDK_VERSION_MAJOR and _MINOR seems to be unused but are derived
from MACOS_SDK_VERSION which is conversly derived from MACOS_SDK_NAME,
which can be now eg. /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
(`xcrun --sdk macosx --show-sdk-path`) - not containing the version
string in expected form.
[1]: https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_SYSROOT.html
doesn't need to be patched
Also, the dynamic version may be slightly better because it is separated
from UG, eg. also because the uv binary and reflector both link with
this so not linking twice (increasing overall size).
This simplifies things a bit at the expense that the soundfont is always
included/installed (91 kB).
Added get_data_path() function for generic handling the path to common
data (eg. /usr/local/share/ultragrid if installed). The idea is to catch
all cases - installed (run with absolute or relative path) or run from
inside the source directory in one place.
in similar fashion as already done for install_sdl.sh
As a bonus, we do not need to depend on whole prepare.sh for cache
rebuild but only on this script, which is perhaps cleaner and may
yield less rebuilds. Also prepare.sh is slightly easier.
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.
add all to one script with deps/build_install/install_cached actions
- yml - use action @main
- cache: do not depend .github/scripts/Linux/prepare.sh, just the
catch-all SDL install file
- build SDL,SDL_ttf without entering the dir (as fluidsynth already does)
Install the qt6-wayland package - the plugin will then be deployed to
the AppImage automatically.
for the case when user has set QT_QPA_PLATFORM=wayland