Commit graph

337 commits

Author SHA1 Message Date
derrod 8c3dbd9b51 CI: Use distributed network for service uptime check 2023-12-18 23:40:15 +01:00
gxalpha baa3243412 Revert "cmake: Align Product Name and Bundle Name on macOS"
This reverts commit 9f66c23825.

This commit caused a crash in CEF on startup for many users. Let's just
revert it asap for now and worry about the minor problem it was solving
another time.
2023-12-10 16:56:36 +01:00
Norihiro Kamae cedf0ace53 CI: Add further packages for build-requirements on Linux
Some more packages are required to build deb package by the script
`.github/scripts/package-linux`.
2023-12-08 18:47:21 +01:00
PatTheMav 40124892cf CI: Add github-actions renderer options to xcbeautify 2023-12-06 17:27:12 +01:00
PatTheMav 9f66c23825 cmake: Align Product Name and Bundle Name on macOS 2023-11-19 15:04:28 +01:00
tytan652 14eb93df88 CI: Validate Flatpak repository in push workflow
Avoid to encounter some errors only while publishing.
2023-11-09 18:50:17 -03:00
tytan652 fc79e813ea CI: Allow to silence errors related to publish
This option allows to validate the Flatpak repo on pushes workflow.
2023-11-09 18:50:17 -03:00
tytan652 9f8655921f CI: Validate Flatpak with flatpak-builder-lint
Validate the Flatpak manifest before building it; then, validate
the build directory; and when publishing, validate the repository
as well.

Using flatpak-builder-lint in the org.flatpak.Builder Flatpak in a
docker container seems to not work.

So the linter repo is cloned and Poetry is used to run it inside an
custom action.

"--exceptions" is required to allow the manifest to pass since
OBS Studio has one for "--talk-name=org.freedesktop.Flatpak".

Co-authored-by: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
2023-11-09 18:50:17 -03:00
Georges Basile Stavracas Neto e03915ee94 CI: Set build-log-url when publishing
This is about to become a Flathub rule, let's pass that.
2023-11-09 18:50:17 -03:00
Georges Basile Stavracas Neto 5f264272e5 CI: Bump flatpak-github-actions commit hash
Use more recent commits. Use a specific commit hash instead of v6.3
to include a fix for the order of arguments in some cases.
2023-11-09 18:50:17 -03:00
derrod e49b31f536 CI: Fix Steam upload (again) 2023-10-10 17:41:18 -04:00
Kurt Kartaltepe 9b98686c31 cmake: Depend entirely on pkg-config if found for VPL
Released versions of VPL have a pkg-config that orders dependencies
before the main VPL library. This causes our library searching with
pkg-config hints to instead search for the first dependency of VPL.

Instead just import the pkg-config definition directly and use it. This
is a bit more correct as all the dependencies will be correctly linked.

Also install the library since the debian package doesnt seem to depend
on the library itself...

fixes #9573
2023-10-09 11:53:59 -04:00
PatTheMav 773e45bfa9 CI: Add support for dependency revisions to Linux CI builds 2023-10-09 11:01:18 -04:00
PatTheMav 6fb510c918 Revert "CI: Add xclogparser to macOS builds to generate issue report"
This reverts commit c19d9c1365.
2023-10-09 10:31:54 -04:00
PatTheMav c51c1175fb Revert "CI: Add build annotation step to macOS arm64 builds"
This reverts commit a8ad8bace7.
2023-10-09 10:31:54 -04:00
PatTheMav aed040ff58 Revert "CI: Fix condition for annotations in nightly runs"
This reverts commit af2136d51c.
2023-10-09 10:31:54 -04:00
PatTheMav 9f3f07dd56 CI: Fix Steam prerelease detection for releases 2023-09-10 07:02:45 +02:00
PatTheMav af2136d51c
CI: Fix condition for annotations in nightly runs 2023-09-08 23:46:31 +02:00
PatTheMav a8ad8bace7 CI: Add build annotation step to macOS arm64 builds 2023-09-05 18:28:08 -04:00
PatTheMav c19d9c1365 CI: Add xclogparser to macOS builds to generate issue report 2023-09-05 18:28:08 -04:00
tytan652 d03188896d build-aux,CI: Bump Flatpak KDE Runtime to 6.5 2023-09-05 13:14:28 -04:00
tytan652 c2e87f7e72 CI: Update flatpak-github-actions to get upstream improvement
- Bump action dependencies [1]
 - Fix caching from the bump [2]
- Fix build-bundle option [3]

[1]: eacf60ac2f
[2]: 1283416d7c
[3]: b9a7d065ea
2023-09-05 13:14:28 -04:00
tytan652 b2549e4036 CI: Add missing secrets on Flatpak releases 2023-08-28 11:04:09 -04:00
PatTheMav 4ee1cc2809 CI: Fix ccache status output for workflow jobs
CCache configuration path was configurable until the CI script cleanup
(as scripts were still intended to be used locally then), which is not
needed anymore.
2023-08-28 10:10:14 -04:00
PatTheMav d51f32bfb6
CI: Fix GitHub Actions JSON runtime error in scheduled workflow
Later conditional uses fromJSON expression which requires valid
references. If this step is skipped, the used reference will be invalid
(as the step has never run) and the entire expression will fail.
2023-08-28 14:10:03 +02:00
PatTheMav 4d7d5103b6
CI: Fix typos in scheduled nightly run workflow 2023-08-26 23:09:25 +02:00
PatTheMav 35f79d62c7 CI: Fix scheduled language file upload
Shell script has to be based on bash, copied code was based on macOS
and Zsh instead.
2023-08-25 11:40:02 -04:00
PatTheMav c6b05ff393 CI: Add brute-force workaround for macOS disk image creation failure
Suggestion by GitHub's macOS image maintainer is to kill
XProtectBehaviourService when "Resource busy" error occurs on macOS 13
runners.
2023-08-24 16:08:03 -04:00
PatTheMav 37773b036a CI: Remove concurrency limits for push workflow 2023-08-24 14:46:30 -04:00
PatTheMav 7b5ea3de40 CI: Remove language file upload from push workflow 2023-08-24 14:46:30 -04:00
PatTheMav 56e386912e CI: Add nightly upload of changed language files 2023-08-24 14:46:30 -04:00
tytan652 ca3dabec35 CI: Enforce the use of Ubuntu's CMake
Github provides a more recent version in /usr/local

Also adds ZSH and YAML files spacing in editorconfig file
2023-08-19 16:56:29 -07:00
derrod ceb18e3665 CI: Specify tag for Steam action on release 2023-08-19 16:24:42 -04:00
Ryan Foster 8e66cb823c CI: Fix Sparkle appcast release note generation
The current steps attempted to remove SSH signatures from signed git
commits/tags by making the release notes string into a single line,
running sed, then restoring the newlines. However, this resulted in all
n characters being missing from the resulting output. We can use targeted
git ref format specifiers instead of trying to use sed.

https://git-scm.com/docs/git-for-each-ref/2.41.0#Documentation/git-for-each-ref.txt-contentssubject
https://git-scm.com/docs/git-for-each-ref/2.41.0#Documentation/git-for-each-ref.txt-contentsbody
2023-08-17 14:39:26 -04:00
derrod 4a7b278a23 CI: Fix Steam Playtest upload 2023-08-17 09:12:49 -04:00
PatTheMav 1ce5010b25 CI: Update dispatch workflob jobs for documentation updates
generate-docs action does not require a commitHash (it discovers this
value automatically) and redirects do not need to be set up anymore
as the old documentation pages have been removed.
2023-08-16 18:33:51 -04:00
PatTheMav ea8ea39e29 CI: Fix checkers tripping over empty GitHub Actions references
When the internal git reference is nonexistent, GitHub Actions seems
to convert that value into a hash made up of only zeroes. As that
hash will be commit-ish it will pass verification.

git cat-file will fail if the provided reference cannot be resolved
in the repository so should be the safer choice.
2023-08-16 18:33:51 -04:00
PatTheMav 3a347fe327 CI: Fix push workflow checking for ref name instead of type
Documentation should always be updated on a tag push, hence why the
check should be skipped, but requires checking the type rather than
the name.
2023-08-16 18:33:51 -04:00
PatTheMav abd29b9760 CI: Use older compression and file system for macOS disk image
Using older file system (HFS+ instead of APFS) and compression
(lzfse instead of lzma) allows the disk image to be opened on older
versions of macOS, avoiding the cryptic error message that users
are greeted with otherwise.

This is a temporary fix for the still-alive installed base of
Intel-based Macs.
2023-08-16 16:01:55 -04:00
PatTheMav c1da220ca5 CI: Use more explicit check for valid git reference in check actions 2023-08-16 16:01:55 -04:00
PatTheMav 4654b93168 CI: Do not cancel concurrent workflow runs for pushes to master 2023-08-16 16:01:55 -04:00
Vainock bb8146bbdc CI: Update obs-crowdin-sync to latest 2023-08-13 23:44:55 +10:00
PatTheMav cf8a8cce72 CI: Simplify build scripts for CI-only use 2023-08-10 18:21:09 -04:00
Ryan Foster 64139a6bbd CI: Update to clang-format 16
This commit also modifies UI, libobs, and plugins.
2023-08-10 16:07:25 -04:00
Ryan Foster f9054371fc CI: Update peter-evans/create-pull-request GitHub Action
We're currently using peter-evans/create-pull-request v4.0.3 which is
still using the deprecated set-output command. This was fixed in v4.1.4,
so let's update to that version for now.
2023-08-09 12:13:32 -04:00
Ryan Foster 4037e18d97 CI: Pin third-party actions to specific commits
Recommended practice is to pin third-party actions to specific commits.
2023-08-09 12:13:32 -04:00
Ryan Foster 7a0d069e24 CI: Fix services validator being unable to create Pull Requests
Add write permission to the pull-request scope for the
services-availability and services-validation jobs to allow them to
create and update Pull Requests.
2023-08-07 13:48:24 -04:00
PatTheMav cb531b5034 CI: Remove optimistic continuation of disk image creation for macOS
The situation of the mount point being unmounted after an unsuccessful
detach attempt leads to an unrecoverable situation. Instead of
optimistically continuing, the script has to fail.
2023-08-05 18:12:06 -04:00
PatTheMav 0a248ab589 CI: Add write permissions to contents scope to service validator 2023-08-05 17:54:41 -04:00
PatTheMav 7ece5cd057 CI: Add wrapper function for macOS disk image operations
As not only detaching but apparently all operations of hdiutil can be
blocked by slow disk I/O on CI runners, this wraps all invocations of
it in a helper function that attempts up to 5 retries with a backoff
timer.
2023-08-04 13:00:40 -04:00
PatTheMav 499ddfb32c CI: Fix detaching of temporary macOS disk images during image creation 2023-08-03 12:06:01 -04:00
Sebastian Beckmann 211a812cc7
CI: Shorten job and step labels in workflow files 2023-08-02 01:07:44 +02:00
Patrick Heyer a2c0d4969a
CI: Add fixes for tagged release runs and assorted minor issues
* Add provisioning profile support for macOS builds
* Fix internal variable names in macOS packaging script
* Add fallback git reference for validator actions
* Add required repository environment to documention deployment jobs
* Pass GitHub pull request number to GitHub CLI explicitly
* Use shortened commit hash for Steam nightly versions
* Ensure that concurrency check for tagged push uses a boolean value
* Update disk image creation function to retry ejection on CI
* Fix repository checkout in Flatpak publish action
* Fix output paths and filenames of generated appcast XML files
* Limit notice about notarization password use to non-CI usage
* Remove architecture-specific suffix from appcast artifact name
2023-07-27 15:26:45 +02:00
PatTheMav bcbe509b56 CI: Fix Python 3.11 installation on macOS 13 runners
Once again GitHub Action runners have a minor Python 3 version
preinstalled that we want to upgrade, which will fail because that
versions does not seem to be Homebrew-based.

Enforcing an upgrade will fix the issue as Homebrew can overwrite the
files.
2023-07-23 01:42:04 +02:00
PatTheMav 569398549e CI: Fix steamcmd being unable to find generated build file
steamcmd seems to have a quirk where it cannot find a file in the
current working directory on macOS, but requires the absolute path
to the file instead - using the `:a` Zsh modifier yields the absolute
path of a valid filename in the current directory scope.
2023-07-22 16:41:00 -07:00
PatTheMav 07d0da12d6 CI: Fix broken download of nightly build artifacts for Steam uploads
GitHub's CLI utility is not capable of downloading artifacts generated
by the workflow job it is being run in itself. Thus the official
repository action is needed.
2023-07-22 01:25:21 +02:00
PatTheMav 64be5a7f9a CI: Fix broken Flatpak cache generation on CI
Cache key needs to provided regardless of whether a cache hit occurs,
the key is not automatically generated by the action.
2023-07-21 15:43:32 -03:00
PatTheMav 1e74256b7e CI: Fix random password generation for macOS codesigning
`sha1sum` is part of Homebrew's coreutils, but macOS ships with
`shasum` by default, which supports many variants and defaults to
SHA-1 by default.
2023-07-21 14:16:59 -04:00
PatTheMav 890a7fddd8 CI: Switch service availability checks to macOS runners
Linux runners exhibit connectivity issues with some services that are
not present with macOS runners. Switching to macOS thus reduces chances
for false positives.
2023-07-20 22:57:16 +02:00
PatTheMav ee530c2f49 CI: Remove label triggers from pull request workflow 2023-07-20 21:47:57 +02:00
PatTheMav a88a71c342 CI: Fix scheduled Steam builds
Apparently the workflow run list will also yield the _current_ workflow
run, so we have to fetch at least 2 runs to also get the prior one.
2023-07-20 14:37:22 +02:00
PatTheMav 48b51ce3c4 CI: Fix Qt XML validator attempting to validate non-XML files
Explicitly check only for changes `.ui` files in forms subdirectory
and pass only changed files with that suffix to validator.
2023-07-19 11:18:47 -04:00
PatTheMav c1347439eb
CI: Fix updated workflows using outdated Flatpak actions 2023-07-18 01:59:14 +02:00
PatTheMav 401aa7933a
CI: Fix team identifier check in macOS codesigning repository action 2023-07-18 01:19:16 +02:00
PatTheMav 0838b74060
CI: Delete legacy workflows for GitHub Actions 2023-07-17 20:09:53 +02:00
PatTheMav 96a48e86c3
CI: Add new reusable workflows for GitHub Actions 2023-07-17 20:09:53 +02:00
PatTheMav d6b98def22
CI: Add new repository actions for GitHub 2023-07-17 20:09:52 +02:00
PatTheMav ae897c2764
CI: Add new build and packaging scripts for Linux 2023-07-17 19:49:18 +02:00
PatTheMav 902843634c
CI: Add new build and packaging scripts for macOS 2023-07-17 19:49:18 +02:00
PatTheMav 1cfa06a2aa
CI: Add zsh-based build framework files for macOS 2023-07-17 19:49:18 +02:00
PatTheMav 9712b33417 CI: Update macOS and Windows build scripts for OAuth configs via preset
Also sets GPU_PRIORITY_VAL via preset on Windows.
2023-07-06 20:20:05 +02:00
Ryan Foster 8feb06f1cf CI: Fix call to base64 on macOS 2023-06-30 00:45:03 +02:00
PatTheMav a01e2e9ced CI: Update main workflow to enable building with macOS 13 runners 2023-06-29 10:48:15 -04:00
PatTheMav 4051cae1be CI: Update Windows workflow for updated CMake build system and scripts 2023-06-29 10:11:32 -04:00
PatTheMav 5d746f650e CI: Add new Windows build scripts 2023-06-29 10:11:32 -04:00
derrod dd418c1f35 CI: Remove Ubuntu 20.04 build 2023-06-23 16:32:27 -04:00
Ryan Foster 2d96324946 CI: Update deps to 2023-06-22 release
Notable changes:
 * deps.qt: Remove Qt 5 builds
 * deps.qt: Update Qt 6 build scripts
 * deps.ffmpeg: Update dependencies for OBS CMake 3.0 upgrade
 * deps.windows: Update dependencies for OBS CMake 3.0 upgrade

No dependency versions have changed.

This update is to unblock work on the Windows "CMake 3.0" upgrade and
dropping Qt 5 support.
2023-06-22 14:33:25 -04:00
PatTheMav 887b537d56 cmake: Update buildspec and presets for macOS 2023-06-17 12:23:33 -04:00
Sean DuBois 19a297f81a CI: Update deps to 2023-06-01 release
Notable changes:
 * deps.ffmpeg: Add libdatachannel
 * deps.macos: Add Syphon Framework

Library added to support WHIP (WebRTC) output.
2023-06-09 20:20:49 -05:00
derrod 7668c15a75 CI: Enable GPU priority setting for Windows builds 2023-05-20 16:26:09 -07:00
Lain 106c7aa61f Update copyrights/names 2023-05-20 01:31:18 -07:00
PatTheMav 292191e980 CI: Update workflow to support provisioning profiles for macOS 2023-05-18 14:41:08 -04:00
tytan652 c28c5333fc build-aux,CI: Add format to Flatpak manifest
- Change Flatpak manifest indent size to 4
- Add a Python script to format manifest files
- Add editorconfig for Flatpak JSONs and Python files
2023-05-13 18:26:17 -07:00
tytan652 904fe87f83 build-aux,CI: Split Flatpak manifest in multiple files
Also moves Flatpak manifest to build-aux folder
2023-05-13 18:26:17 -07:00
PatTheMav f1c7296ac2 CI: Update ccache cache entries to enable restoration from master branch
Current caching steps do not use a coarse restore key to enable cache
restoration from a possible master cache. This is a forward-port of a
future CI workflow update that uses the same cache key logic.

Also fixes missing generator token for cache keys generated by master
branch.
2023-05-06 16:20:10 -07:00
derrod 2e1680235e .github: Add workflow to clean caches 2023-04-26 22:03:01 +02:00
derrod d600955f7d CI: Switch service checker to macOS 2023-04-26 22:01:26 +02:00
Georges Basile Stavracas Neto 6e25b3198a CI: Bump Flatpak actions to v6.1
Sadly, v6 had an issue where it pushed the build to the `master`
branch regardless of the branch specified in the action config.
This was fixed in v6.1, so let's use that, and publish further
releases on the right branch.
2023-04-14 20:53:03 -04:00
Ryan Foster 099b391e7c CI: Update deps to 2023-04-12 release
Notable changes:
 * deps.qt: Add missing obs-deps version file for Qt packages
 * CI: Add detection for single-arch static libraries

This is mostly to fix plugin builds. No dependency versions have
changed.
2023-04-12 21:33:06 +00:00
Ryan Foster 9292fbbad7 CI: Update apple-actions GitHub Actions
Update actions version to avoid the impending shut down of deprecated
commands on May 31, 2023.

See:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2023-04-12 21:32:59 +00:00
K.B.Dharun Krishna 1dd6e47215 CI: Bump Flatpak actions to v6 2023-04-11 17:32:39 -03:00
derrod 7258a58904 CI: Enable Sparkle deltas for betas 2023-04-05 21:26:06 +00:00
derrod cdbdf4854d CI: Migrate Steam uploader to macOS 2023-04-05 21:26:02 +00:00
Ryan Foster 6aa28c8667 CI: Specify branches for merge groups 2023-04-03 20:23:41 -04:00
Ryan Foster 855d9cba4a CI: Update deps to 2023-04-03 release
Notable changes:
 * deps.ffmpeg: Update FFmpeg to a6dc92968a
 * deps.qt: Backport macOS disabled combobox items fix

The FFmpeg update is to fix an issue with DTS when using b-frames with
FFmpeg NVENC. In particular, we wanted this commmit:
 * a6dc92968a
2023-04-03 23:28:17 +00:00
Ryan Foster 4454bc5d5a CI: Enable main workflow to run on merge queue items 2023-04-03 19:04:47 -04:00
derrod 7cb9f10c61 CI: Fix Steam workflow not finding win asset 2023-04-02 09:26:35 +10:00
Ryan Foster 1be1f51635 CI: Update deps to 2023-03-30 release
Notable changes:
 * deps.ffmpeg: Update FFmpeg to 3980415627

This update is to fix a crash when using FFmpeg NVENC. In particular, we
wanted these commmits:
 * 0981053c29
 * 916bdc0f19
2023-03-31 17:59:02 -04:00
gxalpha c2b4142720 CI: Update service check PR job to remove set-output 2023-03-30 19:25:14 -04:00
Ryan Foster 94cf1cd2c8 CI: Fix GitHub labels check
github.event.pull_request.labels contains the labels at the time the
pull_request event was triggered. Modifications made during the workflow
(or after the PR was submitted and before a CI re-run) won't show up
there. To reliably check the labels on CI re-runs, switch back to
checking the API.
2023-03-30 18:55:57 -04:00