Commit Graph

174 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks 43dbd81d0e Don't set values that may have side effects during build tests 2023-10-04 08:52:53 +02:00
Michael Fabian 'Xaymar' Dirks 34f0306040 Remove Qt 5.x and Ubuntu 20.04 builds 2023-10-04 06:36:18 +02:00
Michael Fabian 'Xaymar' Dirks 2277c60e5e Opt for more modern linkers on CI 2023-10-01 06:32:10 +02:00
Michael Fabian 'Xaymar' Dirks 3d3aef47af Reorder the template for issues and bugs 2023-09-07 06:55:01 +02:00
Michael Fabian 'Xaymar' Dirks 8f7dd1ba4e Remove useless pull request template 2023-09-07 06:55:01 +02:00
Michael Fabian 'Xaymar' Dirks 7237d8826f ci: Build libOBS with MSVC on Windows
obs-studio does not yet support ClangCL, resulting in a broken build. We don't want to check if obs-studio is broken, we only want to check if StreamFX is broken.
2023-05-14 04:47:30 +02:00
Michael Fabian 'Xaymar' Dirks 4b0e00bc54 ci: GitHub Actions does not correctly transform github.workspace here 2023-05-14 04:47:30 +02:00
Michael Fabian 'Xaymar' Dirks 59d3781269 ci: Don't use caches from a different compiler 2023-05-14 04:24:06 +02:00
Michael Fabian 'Xaymar' Dirks b5a4adb8fb ci: Fix CI failure 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks b344ec4dd9 ci: StreamFX's CMake requires ..._DIR not CMAKE_PREFIX_PATH 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 5fcb592c65 ci: Let compiler figure out what linker to use
This is broken somehow. Can't be bothered to fix it - works without it anyway!
2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 8242c6be0f ci: Apply patches to obs-studio 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks b6ea9b3c5a ci: Ignore GCC-11 on Ubuntu 22, and fix some missing CMake flags 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 2478bb4308 ci: Add some messaging for better log debugging 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 2e1f00d04d ci: Reduce the number of compilers, and remove some purge statements 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks f315544808 ci: Shrink the purge a bit 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 03087257df ci: Purge unwanted compilers 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 4a37e8e09e ci: Enable LTO project-wide 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks bfc3560dd9 ci: Potentially fix ambiguous redirect and fix clang on Ubuntu 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 3284b490ca ci: Fix last commit 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks b6391f13f8 ci: Add more compilers to Ubuntu
May help us figure out unexpected incompatibilities in the future. While we still require C++14 or later, and may even upgrade to C++17 eventually, this should address some concerns about compatibility.

Plus it makes it easier to support things like Flatpak
2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks a5f07e8228 ci: Prefer RelWithDebInfo over Release 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 25c1388050 ci: Don't use libobs-dev on Ubuntu
The provided libobs-dev does not match CMake standards (LibObs instead of libobs like on all other platforms). It also does not provide the obs-frontend-api, or any other required files.
2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 05ded838e5 ci: Actually write obs-studio version to environment 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks a5e55c42d4 ci: Fix missing matrix.qt and fix libobs path on Ubuntu 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks a981b45077 ci: Fix naming of workflows on Ubuntu 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks d0b7d80b81 ci: Fix another error introduced by the split 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks b662f32166 ci: Fix some workflow errors introduced by the split 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 0e1db7fad5 ci: Split workflows by platform
This splits the whole thing by the supported platforms to hopefully aid with future problem searching. While the combined script was nice, and allowed reducing the working overhead significantly, it also had collisions in what should have been defined.
2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 4b28f87d5c ci: Just disable the warning/error mess 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 461acec47d ci: More attempts at fixing whatever breaks XCode 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 7d3e3ec1b5 ci: Update to LLVM/Clang 16.0.3 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 1d1db7c994 ci: Mixed up URL and Hash 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 7cd8ab8da2 ci: Another attempt at fixing GITHUB_ENV issues
Why has the previous code worked? Did it ever work?
2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks ceca90fa38 ci: Attempt to fix env issues 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks 12434db5e4 ci: Remove additional $ from command 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks acef006198 ci, tools: Use new buildspec.json for depedendencies 2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks d2dbb3335d ci: Remove libOBS cache
Might fix the weird issue with additional compiler flags being set.
2023-05-14 03:25:07 +02:00
Michael Fabian 'Xaymar' Dirks e32bd8cdae ci: Create RelWithDebInfo builds instead of Debug 2023-05-14 03:25:07 +02:00
Xaymar 0f739135e6 project: Adjust issue templates
Signed-off-by: Xaymar <info@xaymar.com>
2023-04-24 16:17:27 +02:00
Michael Fabian 'Xaymar' Dirks 10921f56e3 ci: Add validation for Copyright headers
Strictly enforce up-to-date copyright headers using CI/CD.
2023-04-05 18:59:08 +02:00
Michael Fabian 'Xaymar' Dirks 5a3954ae0e project: Fix License, License headers and Copyright information
Fixes several files incorrectly stated a different license from the actual project, as well as the copyright headers included in all files. This change has no effect on the licensing terms, it should clear up a bit of confusion by contributors. Plus the files get a bit smaller, and we have less duplicated information across the entire project.

Overall the project is GPLv2 if not built with Qt, and GPLv3 if it is built with Qt. There are no parts licensed under a different license, all have been adapted from other compatible licenses into GPLv2 or GPLv3.
2023-04-05 18:59:08 +02:00
Michael Fabian 'Xaymar' Dirks 7f3ab14128 cmake, code: Remove unused files
These files are not used, and serve no purpose.
2023-04-05 18:59:05 +02:00
Michael Fabian 'Xaymar' Dirks dd3b1c279c ci: Cache previous builds for quicker iterative development
A full clean build is only required for releases, so opting for iterative builds will speed up CI builds significantly. As we can re-use caches from across branches, opting for the first matching key, this means that any branch should re-use the closest match from the main branch.

Downside is that this may break if there is a change to the CMakeLists.txt file, since the project configuration is now different. Might be fixable, but that's not the aim of these changes.
2023-04-05 18:59:05 +02:00
Michael Fabian 'Xaymar' Dirks 09e8e4b439 ci: Use multi-config generators to improve build speed
There's no need to split by configuration type on proper generators, which slightly speeds up the build. Downside is that we can't get builds for both Debug and RelWithDebInfo - though we only need the latter anyway.
2023-04-05 18:59:04 +02:00
Michael Fabian 'Xaymar' Dirks 587cefe5ce ci: Don't validate clang-tidy
Turns out to be very pointless, and usually doubles or triples the overall build time with no actual gain.
2023-04-05 18:59:04 +02:00
Michael Fabian 'Xaymar' Dirks 04e29a94b9 ci: Remove build variants that will never be used
Building for Qt5 is not necessary on Windows, MacOS or Ubuntu 22.04, as there are no supported OBS Studio versions that use these.
2023-04-05 18:59:04 +02:00
Michael Fabian 'Xaymar' Dirks 980c15efa6 ci: Improve/Fix MacOS and Ubuntu builds
Builds on Ubuntu incorrectly used gcc instead of g++ for C++ building, resulting in files that should never have worked. Switching this to g++ should drastically improve the stability of StreamFX on Linux.

Also on MacOS we use Homebrew to install the remaining tools, but failed to correctly install a specific version of it. As Homebrew only installs the latest version of a package to the global search path, this adjustment should fix the issue with clang-format.

Finally since I was already at it, I added clang-tidy integration and made the clang integration global. This way it does not need to be called on a per-project basis any more.
2023-04-05 18:59:03 +02:00
Michael Fabian 'Xaymar' Dirks d55d086a6d ci: Use https instead of http 2023-04-05 18:59:02 +02:00
Michael Fabian 'Xaymar' Dirks 64aeba7e14 ci: Allow manual OBS Deps Version and remove all set-output 2023-04-05 18:58:59 +02:00