diff --git a/.github/workflows/component-release.yml b/.github/workflows/component-release.yml new file mode 100644 index 00000000..541cb73b --- /dev/null +++ b/.github/workflows/component-release.yml @@ -0,0 +1,111 @@ +name: Component Release + +permissions: + contents: write + +on: + pull_request: + types: [closed] + branches: + - develop + +jobs: + release: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up Git + run: | + git config --global user.name "GitHub Actions" + git config --global user.email "actions@github.com" + + - name: Install git-flow and auto-changelog + run: | + sudo apt-get update + sudo apt-get install -y git-flow + npm install -g auto-changelog + + - name: Clone the project and start release + run: | + set -e + git clone https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} project + cd project + git fetch --all + git checkout main || git checkout -b main origin/main + git checkout develop || git checkout -b develop origin/develop + + git config gitflow.branch.master main + git config gitflow.branch.develop develop + git config gitflow.prefix.feature feature/ + git config gitflow.prefix.bugfix bugfix/ + git config gitflow.prefix.release release/ + git config gitflow.prefix.hotfix hotfix/ + git config gitflow.prefix.support support/ + git config gitflow.prefix.versiontag '' + + echo "git config completed" + # Extract version from PR description + PR_DESC="${{ github.event.pull_request.body }}" + # Get top tag from CHANGELOG.md + TOP_TAG=$(grep -m 1 -oP '^#### \[\K[^\]]+' CHANGELOG.md) + if [[ -z "$TOP_TAG" ]]; then + echo "No version found in CHANGELOG.md!" + exit 1 + fi + # Validate TOP_TAG format (semantic versioning: major.minor.patch) + if [[ ! "$TOP_TAG" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Invalid version format in CHANGELOG.md: $TOP_TAG. Expected format: major.minor.patch" + exit 1 + fi + IFS='.' read -r major minor patch <<< "$TOP_TAG" + VERSION_TYPE=$(echo "$PR_DESC" | grep -oiP 'version\s*:\s*\K(major|minor|patch)' | tr '[:upper:]' '[:lower:]') + if [[ -z "$VERSION_TYPE" ]]; then + echo "No version type found in PR description, defaulting to PATCH increment." + patch=$((patch + 1)) + elif [[ "$VERSION_TYPE" == "major" ]]; then + major=$((major + 1)) + minor=0 + patch=0 + elif [[ "$VERSION_TYPE" == "minor" ]]; then + minor=$((minor + 1)) + patch=0 + elif [[ "$VERSION_TYPE" == "patch" ]]; then + patch=$((patch + 1)) + else + echo "Invalid version type in PR description: $VERSION_TYPE" + exit 1 + fi + RELEASE_VERSION="$major.$minor.$patch" + echo "Using calculated version: $RELEASE_VERSION" + echo "RELEASE_VERSION=$RELEASE_VERSION" + echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_ENV + # Check if tag already exists + if git rev-parse "refs/tags/$RELEASE_VERSION" >/dev/null 2>&1; then + echo "Tag $RELEASE_VERSION already exists. Skipping release." + exit 0 + fi + git flow release start $RELEASE_VERSION + auto-changelog -v $RELEASE_VERSION + git add CHANGELOG.md + git commit -m "$RELEASE_VERSION release changelog updates" + git flow release publish + + - name: Finish release and push (default git-flow messages) + run: | + set -e + cd project + git flow release finish -m "$RELEASE_VERSION release" $RELEASE_VERSION + git push origin main + git push origin --tags + git push origin develop + + - name: Cleanup tag if workflow fails + if: failure() + run: | + cd project + git tag -d $RELEASE_VERSION || true + git push origin :refs/tags/$RELEASE_VERSION || true diff --git a/AVOutput/AVOutputTV.cpp b/AVOutput/AVOutputTV.cpp index b686669c..7bdf3876 100644 --- a/AVOutput/AVOutputTV.cpp +++ b/AVOutput/AVOutputTV.cpp @@ -2252,6 +2252,7 @@ namespace Plugin { paramIndex_t indexInfo; int dolbyMode = 0; int err = 0; + tvVideoFormatType_t video_type = VIDEO_FORMAT_NONE; if (parsingGetInputArgument(parameters, "DolbyVisionMode",inputInfo) != 0) { LOGINFO("%s: Failed to parse argument\n", __FUNCTION__); @@ -2262,6 +2263,12 @@ namespace Plugin { returnResponse(false); } + GetCurrentVideoFormat(&video_type); + if(video_type != VIDEO_FORMAT_DV) + { + LOGERR("%s: Invalid video format: %d \n", __FUNCTION__,video_type); + returnResponse(false); + } if (getParamIndex("DolbyVisionMode",inputInfo,indexInfo) == -1) { LOGERR("%s: getParamIndex failed to get \n", __FUNCTION__); diff --git a/AVOutput/CHANGELOG.md b/AVOutput/CHANGELOG.md index e5f68a0f..cf722532 100644 --- a/AVOutput/CHANGELOG.md +++ b/AVOutput/CHANGELOG.md @@ -14,6 +14,10 @@ All notable changes to this RDK Service will be documented in this file. * Changes in CHANGELOG should be updated when commits are added to the main or release branches. There should be one CHANGELOG entry per JIRA Ticket. This is not enforced on sprint branches since there could be multiple changes for the same JIRA ticket during development. +## [1.1.3] - 2025-08-08 +### Fixed +- Fixed getDolbyVisionMode() for non DV content + ## [1.1.2] - 2025-07-01 ### Fixed - Phase2 ODM diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b5817fe..ba2f46f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,19 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.4.3](https://github.com/rdkcentral/entservices-inputoutput/compare/1.4.2...1.4.3) + +- RDKEMW-6681: getDolbyVisionMode api fails to return "Dark/Bright" in … [`#223`](https://github.com/rdkcentral/entservices-inputoutput/pull/223) +- RDKEMW-4778 : Automate git flow merges to main branch for entservices repos [`#209`](https://github.com/rdkcentral/entservices-inputoutput/pull/209) +- RDKEMW-6681: getDolbyVisionMode api fails to return "Dark/Bright" in response for AVOutput plugins. [`9db7ba4`](https://github.com/rdkcentral/entservices-inputoutput/commit/9db7ba48bd2c1d6b45c7f575ae5bacec2b0f8308) +- Merge tag '1.4.2' into develop [`be41736`](https://github.com/rdkcentral/entservices-inputoutput/commit/be41736e250601991249354d91777def97c17546) + #### [1.4.2](https://github.com/rdkcentral/entservices-inputoutput/compare/1.4.1...1.4.2) +> 4 August 2025 + - RDKEMW-4708: Replacing IARM Power manager with Power Manager Plugin [`#194`](https://github.com/rdkcentral/entservices-inputoutput/pull/194) +- 1.4.2 release change log updates [`e2a57a7`](https://github.com/rdkcentral/entservices-inputoutput/commit/e2a57a710780328c582d3b62c5c559409c83e9f4) - Merge tag '1.4.1' into develop [`263272d`](https://github.com/rdkcentral/entservices-inputoutput/commit/263272d6c89623461ace94af863e746fda34f9c3) #### [1.4.1](https://github.com/rdkcentral/entservices-inputoutput/compare/1.4.0...1.4.1)