Commit Graph

86 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks 19de4c5334 ci: Always set up path for clang binaries 2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks 008a3f2a31 ci: Ignore clang-tidy for now 2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks eb047c8882 ci: Remove pointless platform additions
The runners "windows-2022" and "windows-2019" both come with almost identical software, and we can still target Windows 10 21H2. The same goes for "macos-12", "macos-11" and "macos-10.15", where we can simply target 10.15 and get the same result. Only Ubuntu does not make it easy, as it doesn't easily allow targeting a certain OS version.
2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks 69b5ff8ad5 ci: Merge Debug and Release builds into one
There is no point in completely separating these, as CMake can build out-of-tree just fine. Thus we can reduce the overall complexity significantly, and also detect far more problems ahead of time. As a side bonus, we get both debug and release packages in one go.
2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks c4de205d52 ci: Remove Code Signing with self-signed certificate 2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks b4026f2203 ci: Fix clang version 2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks 6e510f17f6 ci: Merge validation into main script
This reduces the necessary variations for CI, and makes status checks easier to enforce.
2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks 5f27998c01 ci: Compress & optimize main script 2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks f66891f956 ci: Don't run pointless builds
The support for Clang on Windows is almost non-existent compared to MSVC and GCC cross-compiling.
2023-04-05 18:58:27 +02:00
Michael Fabian 'Xaymar' Dirks 9e6171ab06 ci: Upgrade to LLVM/Clang 14.x 2023-04-05 18:58:26 +02:00
Michael Fabian 'Xaymar' Dirks 8241a7eb97 ci: Allow failures for experimental CI tests 2023-04-05 18:58:26 +02:00
Michael Fabian 'Xaymar' Dirks ba436e406a ci: Don't fast-fail as some failures are okay 2023-04-05 18:58:26 +02:00
Michael Fabian 'Xaymar' Dirks 36482ac020 ci: Update CMAKE_SYSTEM_VERSION to System Requirements
The updated SDK fixes critical crashes.
2023-04-05 18:58:26 +02:00
Michael Fabian 'Xaymar' Dirks b3efea50ef ci: Add ClangCL to MSVC/Windows 2023-04-05 18:58:26 +02:00
Michael Fabian 'Xaymar' Dirks 35baf7e3c5 ci: Correctly remove builds from the matrix
Re-enables GCC, which is still very much in use.
2023-04-05 18:58:25 +02:00
Michael Fabian 'Xaymar' Dirks f34a4e7c95 ci: Update and merge scripts into one file
- Updates all workflow actions to the latest major version where possible.
- Updated GCC to version 10 on Ubuntu.
- Update Clang to version 14 on Ubuntu.
- Removed CodeQL as it turned out to be completely useless.
- Updated validation script.
- Updated build script
2023-04-05 18:58:25 +02:00
Michael Fabian 'Xaymar' Dirks f160580794 cmake: Improve build system with additional features and options
- Moved all auto-dependencies to a uniform subdirectory for easier caching and cleanup.
- Add an option to download or specify a path for libOBS+obs-frontend-api.
- Remove the dependency on the non-standard obs-frontend-apiConfig.cmake file.
- Add an option to download or specify a path for OBS Dependencies.
- Add an option to download or specify a path for Qt.
- Add an option to download or specify a path for AOM.
- Fix and improve architecture and platform detection.
- Fix some messages having two :, or no prefix at all.
- Fix detection of obs-frontend-api.
- Fix applying custom compiler and linker flags for MSVC and GNU-style builds.
- Use target_compile_options over add_compile_options for compatibility.
2023-04-05 18:58:20 +02:00
Michael Fabian 'Xaymar' Dirks 881c7d920a ci: Ignore specific Packages versions 2023-04-05 18:58:17 +02:00
Michael Fabian 'Xaymar' Dirks d83cdf48b9 ci: Properly install Qt@5 on MacOS 2023-04-05 18:51:55 +02:00
Michael Fabian 'Xaymar' Dirks 497678ba2f ci: Fix typo in 'authors.yml' 2023-04-05 18:51:54 +02:00
Michael Fabian 'Xaymar' Dirks 1c54fee038 ci: Only regenerate authors on dispatch 2023-04-05 18:51:51 +02:00
Michael Fabian 'Xaymar' Dirks e38f117abe ci: Author Information and Upstream Branch 2023-04-05 18:51:50 +02:00
Michael Fabian 'Xaymar' Dirks d3a99e032d ci: Fix some invalid commands 2023-04-05 18:51:50 +02:00
Michael Fabian 'Xaymar' Dirks e3302fa163 ci, tools: Automatically generate contributor attribution files
Also includes a tool to convert Patreon Membership .csv files into a support patch set.
2023-04-05 18:51:50 +02:00
Michael Fabian 'Xaymar' Dirks 5f4b46f8f5 ci: Don't pin to a specific Qt5 version on MacOS with brew
This is more of a hotfix than an actual fix. Not sure if this has any effect on how StreamFX behaves on MacOS
2023-04-05 18:51:44 +02:00
Michael Fabian 'Xaymar' Dirks 0d15216761 ci: Don't perform tasks relying on secrets in pull requests 2023-04-05 18:51:44 +02:00
Michael Fabian 'Xaymar' Dirks c5e69e4076 ci: Adjust to new Code Signing parameters 2023-04-05 18:51:41 +02:00
Michael Fabian 'Xaymar' Dirks 0e26018cd3 ci: Sign builds with the provided key automatically 2023-04-05 18:51:39 +02:00
Michael Fabian 'Xaymar' Dirks 744d627bc5 ci: Update to LLVM/Clang 13.x 2023-04-05 18:51:28 +02:00
Michael Fabian 'Xaymar' Dirks e2fab9c28b third-party: Update libAOM to v3.2.0-0-287164d 2023-04-05 18:51:24 +02:00
Michael Fabian 'Xaymar' Dirks c2955d8480 third-party: Update libAOM to v3.1.2-882-03b6f69 2023-04-05 18:51:20 +02:00
Michael Fabian 'Xaymar' Dirks 7e39f613e0 ci: Properly check if cache was restored 2023-04-05 18:51:20 +02:00
Michael Fabian 'Xaymar' Dirks f0ccb6dd43 ci: Pull Requests shouldn't invoke CI twice 2023-04-05 18:51:20 +02:00
Michael Fabian 'Xaymar' Dirks 1d5d601256 ci: (AOM) Replace files if they exist
This shouldn't happen, but it seems our 'if' case is not working right. Will have to investigate this in the future.
2023-04-05 18:51:19 +02:00
Michael Fabian 'Xaymar' Dirks 9a4ab558c0 encoders/aom-av1: AV1 encoder based on libaom 2023-04-05 18:51:15 +02:00
Michael Fabian 'Xaymar' Dirks 673f406539 ci: Don't run CodeQL on translation changes 2023-04-05 18:51:09 +02:00
Xaymar a52fe1a7e7 ci: Add CodeQL analysis 2023-04-05 18:51:04 +02:00
Michael Fabian 'Xaymar' Dirks e17f33d6ec ci: Upgrade InnoSetup to 6.1.2 2023-04-05 18:50:55 +02:00
Michael Fabian 'Xaymar' Dirks 8ab8d66977 cmake: Update for OBS Studio 27.0.0
* OBS Studio 27.0.0 supports ARM64 on MacOS directly.
* Windows now uses "Detours" for hooking into Windows API functions.
2023-04-05 18:50:55 +02:00
Michael Fabian 'Xaymar' Dirks 1e0bccd8ed ci: Update libOBS version to 27.0.0-rc2 2023-04-05 18:50:53 +02:00
Michael Fabian 'Xaymar' Dirks ab9a6ec56d ci: (Windows) Show full compile output for InnoSetup 2023-03-28 13:11:20 +02:00
Michael Fabian 'Xaymar' Dirks 4405c13901 ci: (MacOS) Build .pkg installer 2023-03-28 13:11:16 +02:00
Michael Fabian 'Xaymar' Dirks d24fb07dcc cmake: Update download logic 2023-03-28 13:11:15 +02:00
Michael Fabian 'Xaymar' Dirks ca6fb45c9d ci: Add caching for many steps 2023-03-28 13:11:15 +02:00
Michael Fabian 'Xaymar' Dirks e88cd34db1 ci: Also trigger validation on tags 2023-03-28 13:11:15 +02:00
Michael Fabian 'Xaymar' Dirks ee6afdcded ci: (MacOS) Automatically detect Homebrew prefix 2023-03-28 13:11:15 +02:00
Michael Fabian 'Xaymar' Dirks eef6d2d445 ci: (MacOS) Fix installation of Qt5
Homebrew now defaults to Qt6, but we still require Qt5 for the time being.
2023-03-28 13:11:15 +02:00
Michael Fabian 'Xaymar' Dirks 766cb605db ci: Fix formatting for main.yml 2023-03-28 13:11:14 +02:00
Michael Fabian 'Xaymar' Dirks 495b8cda66 ci: Add builds for MacOS x86-64
Due to OBS Studio not yet supporting ARM64 out of the box, we currently only provide builds for x86. Additionally, due to our use of C++17 (which we will not drop to C++14, don't bother asking), the minimum OSX version is 10.15.
2023-03-28 13:11:14 +02:00
Michael Fabian 'Xaymar' Dirks 662a858ab6 ci: Update scripts for refactor and adjust OBS to v26.1.x 2023-03-28 13:11:10 +02:00