On CI, do not fetch tags in packaging scripts. For some reason, the
checkout action seems to locally update any new git tags on the runner:
t [tag update] (commit-hash) -> tag-name
This causes future calls to fetch git tags to fail on CI with:
! [rejected] tag-name -> tag-name (would clobber existing tag)
To avoid this, we can simply not fetch tags a second time on CI.
Additionally, fix the Windows Installer job.
Notable changes:
* Use VS2022
* Update zlib to 1.2.12
* Update opus to ab04fbb1b7
* Update libvpx to 1.12.0
* Update SVT-AV1 to 1.1.0
* Update aom to 3.4.0
* Update x264 to r3095
* Update mbedTLS to 3.2.1
* Update libsrt to 1.5.0
* Update librist to 809390b3b7
* Update AMF to 1.4.24
* Update FFmpeg to 5.0.1
* Update FreeType to 2.12.1
* Update LuaJIT to 2.1 3065c910ad
* Update SpeexDSP to 1.2.1
* macOS: Update Jansson to 2.14
* Windows: Update libogg to 1.3.5
* Windows: Update libvorbis to 84c023699c
* Windows: Update cmocka to bbf5ff7dd5
* Windows: Update curl to 7.84.0
* Windows: Update VulkanSDK to 1.3.216.0
* Windows: Update nasm to 2.15.05
* Windows: Update Python to 3.8.10
* Qt: Update Qt5 to Qt 5.15.5 for Windows
* Qt: Update Qt6 to Qt 6.3.1 for Windows
* Qt: Update Qt5 to Qt 5.15.5 for macOS
* Qt: Update Qt6 to Qt 6.3.1 on macOS
* Qt: Backport Windows native scale factor fix
Switch to Visual Studio 2022 and clang-format 13.
The Ubuntu 22.04 image currently has clang-format 12.0.1, 13.0.1, and
14.0.0. VS2022 17.2 ships clang-format 13.0.1, so let's use that for now
until VS2022 17.3 is available with clang-format 14.
This commit also makes the necessary changes to allow the clang-format
check to pass.
This commit also updates the obs-browser submodules with the necessary
changes.
Notable changes:
* Windows: Add Qt 5 and 6 builds
* Windows: Remove nasm native build
* Windows: Update srt from 1.4.2 to 1.4.4
* Windows: Update SWIG from 3.0.12 to 4.1.0-git
* macOS: Update libvpx from 1.10.0 to 1.11.0
* macOS: Update srt from 1.4.1 to 1.4.4
* macOS: Update SWIG from 3.0.12 to 4.1.0-git
* macOS: Update x264 from r3059 to r3060
Add a job where the tag is checked if it is valid, it also checks if the
release should be published to Flathub beta and/or Flathub by
dynamically setting the matrix.
Due to changes on obs-deps, per-arch Qt builds do not contain universal
binaries anymore. To allow CI to cross-compile on x86_64 runners,
the universal release is used, which will run on both architectures.
Hardcode short hash length to 9 characters in CI and packaging scripts.
It is not guaranteed that short hashes are the same length across
different platforms or different versions of git. This caused problems
with upload/download action names, as the hashes sometimes didn't match.
Fix the download artifact name in the Windows installer job and the
macOS notarization job to prevent them from failing due to a name
mismatch.
Current build scripts rely on comparing a architecture string provided
by the OS which will be localised in certain languages.
This change uses a boolean 64-bit flag to use script-defined identifiers
to avoid this issue.
Use the entries in the matrix.ubuntu property to differentiate the
Linux CI artifacts. This allows us to have separate artifacts for each
job configuration created by the matrix.
Update all of our GitHub Actions to the latest versions. Notably, the
update to actions/cache gives support for the 10GB GitHub Actions cache,
and the updates for the other first-party actions are required for
future M1 runner support.
Commit 7a5bffc0a66980113c32dbed123b3928d38abe8b applied a fix to the
macOS build script. This applies the same fix to the GitHub Actions
workflow that is actually currently used on CI.
Prior version was linked against libxcb, because it was present on
Github Actions macOS runners. Consequently builds on CI will succeed
as the library is always present, will fail on user's machines though.