From 6a8b50ce1d1d87b577891194b5a0a5ea3042df36 Mon Sep 17 00:00:00 2001 From: Trouffman Date: Sat, 12 Jul 2025 10:12:12 -0400 Subject: [PATCH] CI: Update obs-deps to 2025-07-11 & OBS 31.0.4 Fix mac-os SDK detection --- .clang-format | 1 + .github/actions/build-plugin/action.yaml | 24 +++++++++++++++++--- .github/actions/run-clang-format/action.yaml | 8 +++---- .github/scripts/utils.zsh/check_macos | 4 ++-- CMakePresets.json | 6 ++--- build-aux/.run-format.zsh | 14 ++++++------ buildspec.json | 20 ++++++++-------- 7 files changed, 48 insertions(+), 29 deletions(-) diff --git a/.clang-format b/.clang-format index c18a9773..b377c991 100644 --- a/.clang-format +++ b/.clang-format @@ -81,6 +81,7 @@ PenaltyReturnTypeOnItsOwnLine: 60 PointerAlignment: Right ReflowComments: false +SkipMacroDefinitionBody: true SortIncludes: false SortUsingDeclarations: false SpaceAfterCStyleCast: false diff --git a/.github/actions/build-plugin/action.yaml b/.github/actions/build-plugin/action.yaml index 9bf40106..7d26b0b5 100644 --- a/.github/actions/build-plugin/action.yaml +++ b/.github/actions/build-plugin/action.yaml @@ -16,6 +16,14 @@ inputs: description: Developer ID for application codesigning (macOS only) required: false default: '-' + codesignTeam: + description: Team ID for application codesigning (macOS only) + required: false + default: '' + provisioningProfileUUID: + description: UUID of provisioning profile (macOS only) + required: false + default: '' workingDirectory: description: Working directory for packaging required: false @@ -31,14 +39,18 @@ runs: CCACHE_DIR: ${{ inputs.workingDirectory }}/.ccache CODESIGN_IDENT: ${{ inputs.codesignIdent }} CODESIGN_TEAM: ${{ inputs.codesignTeam }} + PROVISIONING_PROFILE: ${{ inputs.provisioningProfileUUID }} run: | : Run macOS Build - local -a build_args=(--config ${{ inputs.config }}) + local -a build_args=( + --config ${{ inputs.config }} + ) if (( ${+RUNNER_DEBUG} )) build_args+=(--debug) if [[ '${{ inputs.codesign }}' == 'true' ]] build_args+=(--codesign) + git fetch origin --no-tags --no-recurse-submodules -q .github/scripts/build-macos ${build_args} - name: Install Dependencies 🛍️ @@ -62,16 +74,18 @@ runs: : Run Ubuntu Build local -a build_args=( - --target ubuntu-${{ inputs.target }} --config ${{ inputs.config }} + --target ubuntu-${{ inputs.target }} ) if (( ${+RUNNER_DEBUG} )) build_args+=(--debug) + git fetch origin --no-tags --no-recurse-submodules -q .github/scripts/build-ubuntu ${build_args} - name: Run Windows Build if: runner.os == 'Windows' shell: pwsh + working-directory: ${{ inputs.workingDirectory }} run: | # Run Windows Build if ( $Env:RUNNER_DEBUG -ne $null ) { @@ -83,10 +97,14 @@ runs: Configuration = '${{ inputs.config }}' } + if ( $Env:RUNNER_DEBUG -ne $null ) { + $BuildArgs += @{ Debug = $true } + } + git fetch origin --no-tags --no-recurse-submodules -q .github/scripts/Build-Windows.ps1 @BuildArgs - name: Create Summary 📊 - if: contains(fromJSON('["Linux", "macOS"]'),runner.os) + if: contains(fromJSON('["Linux", "macOS"]'), runner.os) shell: zsh --no-rcs --errexit --pipefail {0} env: CCACHE_DIR: ${{ inputs.workingDirectory }}/.ccache diff --git a/.github/actions/run-clang-format/action.yaml b/.github/actions/run-clang-format/action.yaml index 8e6801df..3f3f8e50 100644 --- a/.github/actions/run-clang-format/action.yaml +++ b/.github/actions/run-clang-format/action.yaml @@ -35,7 +35,7 @@ runs: echo ::group::Install Dependencies eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH - echo "/home/linuxbrew/.linuxbrew/opt/clang-format@17/bin" >> $GITHUB_PATH + echo "/home/linuxbrew/.linuxbrew/opt/clang-format@19/bin" >> $GITHUB_PATH brew install --quiet zsh echo ::endgroup:: @@ -50,11 +50,11 @@ runs: : Run clang-format 🐉 if (( ${+RUNNER_DEBUG} )) setopt XTRACE - print ::group::Install clang-format-17 - brew install --quiet obsproject/tools/clang-format@17 + print ::group::Install clang-format-19 + brew install --quiet obsproject/tools/clang-format@19 print ::endgroup:: - print ::group::Run clang-format-17 + print ::group::Run clang-format-19 local -a changes=(${(s:,:)CHANGED_FILES//[\[\]\'\"]/}) ./build-aux/run-clang-format --fail-${{ inputs.failCondition }} --check ${changes} print ::endgroup:: diff --git a/.github/scripts/utils.zsh/check_macos b/.github/scripts/utils.zsh/check_macos index 2e4a5bf3..1ccfb7f2 100644 --- a/.github/scripts/utils.zsh/check_macos +++ b/.github/scripts/utils.zsh/check_macos @@ -4,8 +4,8 @@ local macos_version=$(sw_vers -productVersion) log_group 'Install macOS build requirements' log_info 'Checking macOS version...' -if ! is-at-least 11.0 ${macos_version}; then - log_error "Minimum required macOS version is 11.0, but running on macOS ${macos_version}" +if ! is-at-least 12.0 ${macos_version}; then + log_error "Minimum required macOS version is 12.0, but running on macOS ${macos_version}" return 2 else log_status "macOS ${macos_version} is recent" diff --git a/CMakePresets.json b/CMakePresets.json index 7b4546b0..37eb999b 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -17,7 +17,7 @@ { "name": "macos", "displayName": "macOS Universal", - "description": "Build for macOS 11.0+ (Universal binary)", + "description": "Build for macOS (Universal binary)", "inherits": ["template"], "binaryDir": "${sourceDir}/build_macos", "condition": { @@ -28,7 +28,7 @@ "generator": "Xcode", "warnings": {"dev": true, "deprecated": true}, "cacheVariables": { - "CMAKE_OSX_DEPLOYMENT_TARGET": "11.0", + "CMAKE_OSX_DEPLOYMENT_TARGET": "12.0", "CMAKE_OSX_ARCHITECTURES": "arm64;x86_64", "CODESIGN_IDENTITY": "$penv{CODESIGN_IDENT}", "CODESIGN_TEAM": "$penv{CODESIGN_TEAM}" @@ -38,7 +38,7 @@ "name": "macos-ci", "inherits": ["macos"], "displayName": "macOS Universal CI build", - "description": "Build for macOS 11.0+ (Universal binary) for CI", + "description": "Build for macOS (Universal binary) for CI", "generator": "Xcode", "cacheVariables": { "CMAKE_COMPILE_WARNING_AS_ERROR": true, diff --git a/build-aux/.run-format.zsh b/build-aux/.run-format.zsh index 2eb784d2..02bb293f 100755 --- a/build-aux/.run-format.zsh +++ b/build-aux/.run-format.zsh @@ -33,24 +33,24 @@ invoke_formatter() { case ${formatter} { clang) - if (( ${+commands[clang-format-17]} )) { - local formatter=clang-format-17 + if (( ${+commands[clang-format-19]} )) { + local formatter=clang-format-19 } elif (( ${+commands[clang-format]} )) { local formatter=clang-format } else { - log_error "No viable clang-format version found (required 17.0.3)" + log_error "No viable clang-format version found (required 19.1.1)" exit 2 } local -a formatter_version=($(${formatter} --version)) - if ! is-at-least 17.0.3 ${formatter_version[-1]}; then - log_error "clang-format is not version 17.0.3 or above (found ${formatter_version[-1]}." + if ! is-at-least 19.1.1 ${formatter_version[-1]}; then + log_error "clang-format is not version 19.1.1 or above (found ${formatter_version[-1]}." exit 2 fi - if ! is-at-least ${formatter_version[-1]} 17.0.3; then - log_error "clang-format is more recent than version 17.0.3 (found ${formatter_version[-1]})." + if ! is-at-least ${formatter_version[-1]} 19.1.1; then + log_error "clang-format is more recent than version 19.1.1 (found ${formatter_version[-1]})." exit 2 fi diff --git a/buildspec.json b/buildspec.json index 9ae304cc..494098d2 100644 --- a/buildspec.json +++ b/buildspec.json @@ -1,33 +1,33 @@ { "dependencies": { "obs-studio": { - "version": "31.0.0", + "version": "31.0.4", "baseUrl": "https://github.com/obsproject/obs-studio/archive/refs/tags", "label": "OBS sources", "hashes": { - "macos": "a22966ff07aba38833ba57c36c9e0d190d083be5dec5048d0a60cd9e6b997242", - "windows-x64": "e8434dcee06f1702f0a0bbd1489296c77116fc51356835c3af4a6ed21b1e1c74" + "macos": "f0b53f0acd05ac0dc3044bd3700740f9d2b7a13504d55c0107468e84a860742b", + "windows-x64": "8e29030aa9ab75878b46ac3cb1045ad0e3cc3eb92c425a8b22b9b1d7b629dded" } }, "prebuilt": { - "version": "2024-09-12", + "version": "2025-07-11", "baseUrl": "https://github.com/obsproject/obs-deps/releases/download", "label": "Pre-Built obs-deps", "hashes": { - "macos": "c857b211ee378772994b632036e1e5befe66b37e85286cb8e3cefc1435d5220a", - "windows-x64": "d4a4f194591766891ad3c0b267deec3c4b85239c8fe557273559927456aeedbb" + "macos": "495687e63383d1a287684b6e2e9bfe246bb8f156fe265926afb1a325af1edd2a", + "windows-x64": "c8c642c1070dc31ce9a0f1e4cef5bb992f4bff4882255788b5da12129e85caa7" } }, "qt6": { - "version": "2024-09-12", + "version": "2025-07-11", "baseUrl": "https://github.com/obsproject/obs-deps/releases/download", "label": "Pre-Built Qt6", "hashes": { - "macos": "34a2de6b7f4d4d58fc5a15a4dba49a61d81a4045d0cedfc1a1f08c0dfb8047cf", - "windows-x64": "4d15ce13dbb0a8a2cabcce5ae0da5e80ee589b482a61b2025378465c1da32c4f" + "macos": "d3f5f04b6ea486e032530bdf0187cbda9a54e0a49621a4c8ba984c5023998867", + "windows-x64": "0e76bf0555dd5382838850b748d3dcfab44a1e1058441309ab54e1a65b156d0a" }, "debugSymbols": { - "windows-x64": "dad2351a5c9cd438168e1ed8fb453a2534532252edb555f1001a5e8eb3f1bbd4" + "windows-x64": "11b7be92cf66a273299b8f3515c07a5cfb61614b59a4e67f7fc5ecba5e2bdf21" } } },