Commit graph

313 commits

Author SHA1 Message Date
tytan652 3f9b2d627e CI: Add nlohmann JSON, WebSocket++ and Asio on Linux
Those libraries will be kept in the Flatpak to allow plugins to use the
same versions of those headers-only libraries.
2023-03-20 19:00:24 -04:00
tytan652 6181325ed9 flatpak: Add missing CMAKE_BUILD_TYPE
CMake defaults to a type commonly named "None".
Setting the type to "Release" is required to have optimization flags
applied.
2023-03-19 09:16:01 +11:00
tytan652 3eab477211 flatpak: Use Github mirror for nv-codec-headers
git.videolan.org repo seems to be inconsitent.
2023-03-18 11:28:00 +01:00
derrod cb475718bd CI: Create Sparkle appcast and deltas on tag 2023-03-07 14:18:32 -05:00
PatTheMav 112ca44158 CI: Remove deprecated dependency installations via Homebrew
Swig and Freetype are provided via obs-deps instead.
2023-02-22 23:06:52 +01:00
PatTheMav 63e0e49798 CI: Remove unit tests from macOS build scripts 2023-02-22 23:06:52 +01:00
derrod 634fd3231c CI/cmake: Update Sparkle to 2.3.2 2023-02-19 01:35:56 +01:00
Jan Beich 50338afe51 CI: Consistently capitalize PipeWire 2023-02-15 14:44:36 -05:00
Jan Beich 60d20d4618 CI: Enable PipeWire on FreeBSD similar to Linux 2023-02-15 14:44:36 -05:00
tytan652 f81f580d26 flatpak: Override PipeWire to 0.3.65
Fixe crashes with 0.3.48/49 daemons.
2023-02-07 12:02:45 -03:00
derrod 48b2efdb20 CI: Use cURL for downloading dependency packages 2023-02-05 03:16:14 +01:00
tytan652 10a68b5d4e flatpak: Update deps based on obs-deps 2022-11-21
* x264: Updated to the same commit as obs-deps
* srt: Updated to 1.5.1
* aom: Updated to 3.5.0
* svt-av1: Updated to 1.3.0
* ffmpeg: Updated to the same commit and patches as obs-deps
* luajit: Updated to the same commit as obs-deps
2022-11-21 18:44:53 -05:00
tytan652 723ca8f034 CI,obs-vst: Update Flatpak KDE Runtime to version 6.4
The 6.4 runtime rely on Freedesktop 22.08 which provide a more recent
version of Mesa and PipeWire.

The switch to 22.08 also requires to migrate paths of VST 2 plugins.
2022-11-20 17:16:02 -05:00
tytan652 688ac3e1a5 flatpak: Add Jansson to modules 2022-11-20 10:11:35 +11:00
Ryan Foster dd5745c66e CI: Re-enable scripting in Windows builds
In dfccb26bb2, in my haste to fix Windows
CI, I accidentally included a change to disable Windows scripting which
I had been using locally. Reverse that change to re-enable scripting in
Windows builds.
2022-11-18 20:46:32 -05:00
Ryan Foster dfccb26bb2 CI: Fix building in PowerShell 7.3.x
The backtick double-quote pattern does not work in PowerShell 7.3.x.
There are still some other possible PowerShell 7.3.x issues in the
packaging steps, but let's fix this first to get regular builds working
in PowerShell 7.3.x again.
2022-11-16 12:20:23 -05:00
derrod 3778d16d6c CI: Fix services checkers using wrong port for RTMPS 2022-11-16 18:18:03 +01:00
PatTheMav 51df553e86 CI: Add debian debug symbols to CI artifacts 2022-11-12 18:20:50 -05:00
derrod 907daf11f7 CI: Upload beta builds as Steam Playtest 2022-11-04 16:30:47 +01:00
derrod 03490a4a12 CI: Fix Steam launching x86 version under Rosetta
Apparently Steam running the OBS launch script makes it run
inside Rosetta as well, so it ended up launching the x86 version
even on arm64 systems.

Explicitly detect Rosetta translation and set arm64 in those cases.
2022-10-19 11:26:06 -04:00
derrod c9b82da5a5 CI: Fix services check using deprecated GHA output
Also fixes an invalid type annotation.
2022-10-18 18:41:12 -04:00
Grant Likely 8779f052fd CI: fix build on non-x86 Linux platforms
The CI build script is useful to build OBS Studio even outside the CI
environment. However, the current script hard codes adding the 'amd64'
architecture to dpkg, the Debian/Ubuntu package management database.
This breaks the system when run on non-x86 machines. e.g., a
linux-aarch64 VM running on an Apple silicon macbook. Fixing the system
requires telling dpkg to remove 'amd64' again with 'sudo dpkg
--remove-architecture amd64'

As the CI build always runs on an amd64 machine, adding amd64 is not
necessary and can be safely removed.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2022-10-01 16:06:39 -07:00
Matt Gajownik 0e7f69ee31 CI: Bump Linux CEF build to disable GTK
Fixes #7146

Normally, Qt and CEF each run their own version of GTK, often causing
conflicts. This commit introduces a build of CEF where GTK has been
disabled using `use_gtk=false` as we do not require the Chrome runtime.
This is an experiment and may end up being the safest long-term solution.

Note: This does introduce potential quirks/incompatibilities, such as
browser sources no longer being able to display alert() dialogs, and
potentially file browser dialogs not working from CEF.
This is better than the alternative. If necessary, such dialogs can be
reimplemented using Qt at a later date, and would likely provide a more
consistent user experience.
2022-08-23 19:47:41 +10:00
tytan652 23f910c149 Revert "flatpak: Install CMake config files"
This reverts commit 43867ce93c.
2022-08-20 20:11:51 -03:00
tytan652 c1e8797009 flatpak: Avoid cleaning all pkgconfig files
Plugins could happen to require libobs, FFmpeg and PipeWire pkgconfig
files.
2022-08-20 20:11:51 -03:00
Ryan Foster f344c9106b flatpak: Use FFmpeg GitHub mirror
The ffmpeg.org domain has had periods of instability recently. If GitHub
is down, our entire CI is down, so let's use the FFmpeg GitHub mirror.
2022-08-06 19:52:34 -04:00
derrod 3c41697b42 CI: Update Steam workflow for Apple Silicon builds 2022-08-03 03:34:49 +02:00
Ryan Foster d39d5f3712 CI: Fix packaging scripts
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.
2022-08-01 21:38:56 -04:00
cg2121 67f7a84076 CI: Change build file names
This makes the build names with each OS consistent with each other.
2022-08-01 13:15:51 -04:00
Ryan Foster b4e056f39d CI: Use Qt6 by default when available 2022-07-31 13:45:57 -04:00
tytan652 87682e8276 flatpak: Change obs-deps tag to 2022-07-29
2022-07-28 was removed.
2022-07-31 10:15:02 -03:00
tytan652 056bd1aee0 flatpak: Avoid cleaning PipeWire and FFmpeg headers
Plugins could happen to build against them.
2022-07-31 08:37:45 -03:00
tytan652 a2a3cb2288 flatpak: Update deps based on obs-deps 2022-07-28
* x264: Updated to the same commit as obs-deps
* srt: Updated to 1.5.0
* mbedtls: Updated to 3.2.1
* librist: Updated to the same commit as obs-deps
* aom: Updated to 3.4.0
* svt-av1: Updated to 1.1.0
* ffmpeg: Updated to the same commit and patches as obs-deps
* luajit: Updated to the same commit as obs-deps
2022-07-31 08:37:45 -03:00
tytan652 2d9c1624c1 flatpak: Update KDE Runtime to version 6.3 2022-07-31 08:37:45 -03:00
Ryan Foster 59e91c7c58 CI: Fix Linux package filename version
In .github/workflows/main.yml, for the linux_build job, the variable
BUILD_FOR_DISTRIBUTION is set to the string "true" or "false" on CI.
Later, in CI/linux/03_package_obs.sh, we perform a boolean check on
this variable. However, "false" will evaluate as true, because it is a
non-null string. This was causing CI Linux packages to always build as
if BUILD_FOR_DISTRIBUTION was enabled, which caused the git commit hash
to be omitted from package filenames.

Since we know the expected values, let's just test directly if the
variable equals "true" to get the expected behavior.
2022-07-31 10:24:36 +10:00
CarrotCodes ba1b5fcaea CI: Fix Sparkle cache location for local macOS CI build 2022-07-31 09:48:57 +10:00
Matt Gajownik 577b11ede4 CI: Bump CEF from 4638 (95) to 5060 (103) 2022-07-31 09:46:44 +10:00
Norihiro Kamae 8af6b79044 CI: Use xcrun notarytool instead of xcnotary
xcnotary was discontinued since Apple now provides `xcrun notarytool`.
This commit used `xcrun notarytool` to notarize the package.
2022-07-30 19:52:36 +02:00
PatTheMav 48091adc04 CI: Add Invoke-External functions for Powershell
Forward-port from obs-plugintemplate to restore cmake output during
the configuration step.
2022-07-30 18:04:15 +02:00
pkv 21621e5f5e
CI: Disable new mpegts output for linux
Support of the new mpegts output would require manual compilation of
librist & libsrt libs.
CI on ubuntu hasn't been updated so disable the new mpegts output for
now.

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-30 17:03:20 +02:00
tt2468 a196fc7824 plugins: Add obs-websocket submodule
Adds obs-websocket as a submodule, to be included in future releases of
OBS Studio by default.
2022-07-28 12:36:17 -07:00
Ryan Foster 81bd1d42f0 CI: Use VS2022 and clang-format 13
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.
2022-07-27 11:09:59 -04:00
Ryan Foster 8514c6c1e2 CI: Fix clang-format if path has spaces
If the path to clang-format has spaces, as might occur when testing
locally with a version not covered in this script, it will fail. Enclose
the call to clang-format in quotes to prevent this failure.
2022-07-26 22:36:13 -04:00
Matt Gajownik a7c3d94e4c obs-vst: Remove submodule in favour of direct merge 2/2
Please visit the submodule repo for blame history:
https://github.com/obsproject/obs-vst

This also replaces the obs-vst .clang-format with obs-studio's.

This commit depends on the previous commit, which removes the submodule
separately as Git complains otherwise.

Co-authored-by: Alex Anderson <anderson.john.alexander@gmail.com>
Co-authored-by: Anton <camotank12345@gmail.com>
Co-authored-by: Blue Cat Audio <support@bluecataudio.com>
Co-authored-by: Cephas Reis <c3r1c3@nevermindonline.com>
Co-authored-by: Colin Edwards <colin@recursivepenguin.com>
Co-authored-by: Florian Zwoch <fzwoch@gmail.com>
Co-authored-by: Fogmoon <i@fogmoon.com>
Co-authored-by: Gol-D-Ace <Gol-D-Ace@users.noreply.github.com>
Co-authored-by: Igor Bochkariov <ujifgc@gmail.com>
Co-authored-by: Jesse Chappell <jesse@sonosaurus.com>
Co-authored-by: Keen <523059842@qq.com>
Co-authored-by: Kurt Kartaltepe <kkartaltepe@gmail.com>
Co-authored-by: Matt Gajownik <matt@obsproject.com>
Co-authored-by: Matt Gajownik <matt@wizardcm.com>
Co-authored-by: Richard Stanway <notr1ch@users.noreply.github.com>
Co-authored-by: Ryan Foster <RytoEX@gmail.com>
Co-authored-by: follower <github@rancidbacon.com>
Co-authored-by: gxalpha <beckmann.sebastian@outlook.de>
Co-authored-by: jp9000 <obs.jim@gmail.com>
Co-authored-by: jpark37 <jpark37@users.noreply.github.com>
Co-authored-by: mntone <sd8@live.jp>
Co-authored-by: tytan652 <tytan652@tytanium.xyz>
Co-authored-by: wangshaohui <97082645@qq.com>
Co-authored-by: wangshaohui <wang.shaohui@navercorp.com>
2022-07-26 22:12:23 -04:00
Ryan Foster beaae2b9ce CI: Update deps to obs-deps 2022-07-08 release
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
2022-07-14 11:22:36 -04:00
PatTheMav c887459f3c CI: Switch to universal Qt builds for CI
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.
2022-07-07 16:20:30 -04:00
Shaolin 5e696cdaa8 CI: Fix FreeBSD definition of streaming service
This will bring build script on par with linux and macs
2022-06-06 03:12:46 -04:00
tytan652 3c390d8b5b flatpak: Update deps based on obs-deps 2022-05-23
* nv-codec-headers: Update to n11.1.5.1
* NTV2: Update to v16.2-bugfix5
* LuaJIT: Use same commit as obs-deps
2022-06-02 09:36:54 -03:00
Romain Vigier 43867ce93c flatpak: Install CMake config files
CMake config files are required for building OBS plugins with the
Flatpak as a runtime.

Add a post-install command that installs the `obs_libraries`
component, which provides the config files.
2022-05-30 12:16:35 -03:00
derrod a07cf955b2 CI: Update service-removal PR description 2022-05-23 05:50:58 -04:00