Cockatrice/.ci
Lukas Brübach b6fc21c968 [CI] Fail the build when the installer is missing a Qt runtime DLL
The Windows payload is assembled by globbing every *.dll out of the build output
directories, so nothing but luck decides whether a module the client links
statically - Qt6Multimedia.dll, Qt6QuickWidgets.dll - reaches the installer at
all. A module that is left out is invisible until a user installs an update and
the client then refuses to start, with "The code execution cannot proceed because
Qt6Multimedia.dll was not found" or a missing procedure entry point in a
Qt6QuickWidgets.dll carried over from the previous version.

Derive the required list from SERVATRICE_QT_MODULES, COCKATRICE_QT_MODULES and
ORACLE_QT_MODULES, the same module lists the targets are actually built against,
so it cannot drift from what the binaries need, and write it next to the CMake
cache as required-qt-runtime.txt. Add the platform plugin, without which the
client cannot start at all.

Assert it in the existing 7-Zip pass that already rejects build-tree artifacts,
comparing exact relative paths so a same-named file in the wrong directory does
not satisfy a requirement, and normalizing the archive's own separators so it
does not matter which one NSIS chose. Missing manifest, missing entry or missing
7-Zip-independent failures all stop the build rather than warn, which is the
whole point: the previous check already failed hard for artifacts, and a warning
here is what let a broken package ship.
2026-10-01 18:05:30 +02:00
..
Arch [Security] Use a CSPRNG for salts, tokens, and RNG seeding (#7192) 2026-09-04 13:49:18 +02:00
Debian12 Alphabetical ordering of Qt modules/packages (#7334) 2026-09-20 19:24:55 +02:00
Debian13 Alphabetical ordering of Qt modules/packages (#7334) 2026-09-20 19:24:55 +02:00
Fedora43 Alphabetical ordering of Qt modules/packages (#7334) 2026-09-20 19:24:55 +02:00
Fedora44 Alphabetical ordering of Qt modules/packages (#7334) 2026-09-20 19:24:55 +02:00
Servatrice_Debian12 [Security] Use a CSPRNG for salts, tokens, and RNG seeding (#7192) 2026-09-04 13:49:18 +02:00
Ubuntu24.04 Alphabetical ordering of Qt modules/packages (#7334) 2026-09-20 19:24:55 +02:00
Ubuntu26.04 Alphabetical ordering of Qt modules/packages (#7334) 2026-09-20 19:24:55 +02:00
compile.sh [CI] Fail the build when the installer is missing a Qt runtime DLL 2026-10-01 18:05:30 +02:00
docker.sh add ccache eviction for files older than 7 days (#6795) 2026-04-11 19:18:12 +02:00
lint_cpp.sh CI: Print colored diff for lint check (#6975) 2026-06-08 19:19:28 +02:00
macos.entitlements Sign macOS Releases (#5396) 2025-01-09 22:32:53 -05:00
name_build.sh CI: Cleanup (#6677) 2026-03-09 21:32:47 +01:00
prep_release.sh escape ampersand (#6900) 2026-05-21 22:02:09 +02:00
release_template.md Update & add arch/platform labels in release template (#7149) 2026-08-23 12:56:00 +02:00
resolve_latest_aqt_qt_version.sh CI: Resolve to latest Qt version in range for Windows as well (#6700) 2026-03-15 17:47:48 +01:00
thin_macos_qtlib.sh ci: make fat qt libs thin (#6281) 2026-01-04 01:00:05 +01:00
update_translation_source_strings.sh make translation update script more specific in line selection (#4993) 2024-01-25 23:28:23 +01:00
update_translation_source_strings_template.md fix transifex link (#5969) 2025-06-09 02:05:24 +02:00