diff --git a/.github/workflows/bump-and-release.yml b/.github/workflows/bump-and-release.yml index 222c0440..17aa67e8 100644 --- a/.github/workflows/bump-and-release.yml +++ b/.github/workflows/bump-and-release.yml @@ -1,5 +1,5 @@ name: Bump and release -run-name: ${{ (inputs.version == '' && 'Not bumping version') || format('Bumping version to {0}', inputs.version) }} and ${{ (inputs.dryRun == true && 'validating') || 'releasing' }} ${{ inputs.connectors }} +run-name: ${{ (inputs.version == '' && 'Not bumping version') || format('Bumping version to {0}', inputs.version) }} and ${{ (inputs.dryRun == true && 'validating') || 'releasing' }} ${{ inputs.connectors }} on cocoapods trunk ${{ (inputs.cocoapodsTrunk == true && '✅') || '❌' }}, on self hosted spec repo ${{ (inputs.selfHosted == true && '✅') || '❌' }} on: workflow_dispatch: inputs: @@ -12,6 +12,16 @@ on: required: true default: true type: boolean + cocoapodsTrunk: + description: 'If true, releases on Cocoapods trunk public spec repo.' + required: true + default: true + type: boolean + selfHosted: + description: 'If true, releases on self hosted spec repo.' + required: true + default: true + type: boolean connectors: description: 'Choose the Connector(s)' required: true @@ -102,19 +112,35 @@ jobs: else connectors+=("$prefix-${{ inputs.connectors }}.podspec") fi + if [[ "${{ inputs.selfHosted }}" == "true" && "${{ inputs.dryRun }}" != "true" ]]; then + if [ -d "$HOME/.cocoapods/repos/cocoapods-specs" ]; then + pod repo remove cocoapods-specs + fi + pod repo add cocoapods-specs \ + https://x-access-token:${{ secrets.PODS_SPEC_REPO_TOKEN }}@github.com/THEOplayer/cocoapods-specs.git + fi for connector in ${connectors[*]} do - pod repo update - cmd="pod $command $connector --verbose --allow-warnings" - if [ ${{ inputs.dryRun }} == false ]; then - cmd="$cmd --synchronous" - else - branch=$(git rev-parse --abbrev-ref HEAD) - sed -i '' "s|:tag => [^,}]*|:branch => \"$branch\"|g" "$connector" + if [[ "${{ inputs.selfHosted }}" == "true" ]]; then + if [[ "${{ inputs.dryRun }}" != "true" ]]; then + pod repo push cocoapods-specs $connector --verbose --allow-warnings + else + echo "dryRun -> skip selfHosted release" + fi fi - $cmd - if [ ${{ inputs.dryRun }} == true ]; then - git checkout "$connector" + if [[ "${{ inputs.cocoapodsTrunk }}" == "true" ]]; then + pod repo update + cmd="pod $command $connector --verbose --allow-warnings" + if [ ${{ inputs.dryRun }} == false ]; then + cmd="$cmd --synchronous" + else + branch=$(git rev-parse --abbrev-ref HEAD) + sed -i '' "s|:tag => [^,}]*|:branch => \"$branch\"|g" "$connector" + fi + $cmd + if [ ${{ inputs.dryRun }} == true ]; then + git checkout "$connector" + fi fi done Cleanup: diff --git a/CHANGELOG.md b/CHANGELOG.md index 5278c263..da205bc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [11.0.0] - 2026-04-16 +### Added + +- The connectors will now be additionally published to a [THEOplayer hosted Cocoapods spec repo](https://github.com/THEOplayer/cocoapods-specs). We will continue publishing to the main trunk until EOL. For more info, please check [the SDK changelog](https://optiview.dolby.com/docs/theoplayer/changelog/#-1100-20260416). + ### Removed - Dropped support for iOS/tvOS 13 & 14.