This will also allow us to move to clang-format 22 which ships with
VS 2026.
* Update the CI image to windows-2025-vs2026
* Update VS generator to 2026
* Update Windows SDK to 26100
This was used to ensure that we had Python 3.12 or newer. The Ubuntu
24.04 runners now have Python 3.12, and the macOS 15 and 26 runners have
Python 3.14.
With the switch to Xcode 26.5 the analyze command started to use the
built-in compilation cache (per the CMake preset) which breaks those
builds specifically as no writable CAS path is set for this workflow.
This change adds the same code used for the normal build workflow to
set a specific CAS path. Because the contents of that path are not
retained by a caching action, no actual caching for analyze builds takes
place.
In preparation for macOS 27 and to fix existing build errors when
Swift 6 (rather than Swift 6.1 is used) to build the project, force use
of macOS 26 runners as well as Xcode 26.5 for CI.
The Qt components are from the same repo as other dependencies.
The KDE Platform was never a good fit for OBS Studio for multiple
reasons:
- Life cycle too short and misaligned with OBS Studio causing users to
get EOL notification too often.
- Third-party Qt plugins were allowed which could change Qt's behavior.
- KDE exclusives sandboxed holes were inherited.
To reduce compile time and prepare for aarch64 support, dependencies
compilation except CEF is moved to a BuildStream project junctionned
with Freedesktop SDK.
The BuildStream project is configured to build dependencies in a
Flatpak-like environment.
The current version of swift-format uses features that are only
supported in more recent Swift compiler versions than the one shipped
with Xcode 16.1.0.
When 31.0.4 was published, it published to the Flathub beta channel,
which overwrote the running 31.1.0 beta/rc. This was due to an
assumption that we would not publish an out-of-band hotfix release once
we had moved to a new beta release cycle. To prevent this in the future,
we can check the last two releases to see if they are different tag
series and if one is a prerelease.
When 31.0.4 was published, it published to the Flathub beta channel,
which overwrote the running 31.1.0 beta/rc. This was due to an
assumption that we would not publish an out-of-band hotfix release once
we had moved to a new beta release cycle. To prevent this in the future,
we can check the last two releases to see if they are different tag
series and if one is a prerelease.