Skip to content

Commit c96e5e9

Browse files
committed
Merge branch 'release/1.15.0' into main
2 parents 53708b0 + 201d5dc commit c96e5e9

File tree

3 files changed

+121
-1
lines changed

3 files changed

+121
-1
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
name: Component Release
2+
3+
permissions:
4+
contents: write
5+
6+
on:
7+
pull_request:
8+
types: [closed]
9+
branches:
10+
- develop
11+
12+
jobs:
13+
release:
14+
if: github.event.pull_request.merged == true
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v3
20+
21+
- name: Set up Git
22+
run: |
23+
git config --global user.name "GitHub Actions"
24+
git config --global user.email "[email protected]"
25+
26+
- name: Install git-flow and auto-changelog
27+
run: |
28+
sudo apt-get update
29+
sudo apt-get install -y git-flow
30+
npm install -g auto-changelog
31+
32+
- name: Clone the project and start release
33+
run: |
34+
set -e
35+
git clone https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} project
36+
cd project
37+
git fetch --all
38+
git checkout main || git checkout -b main origin/main
39+
git checkout develop || git checkout -b develop origin/develop
40+
41+
git config gitflow.branch.master main
42+
git config gitflow.branch.develop develop
43+
git config gitflow.prefix.feature feature/
44+
git config gitflow.prefix.bugfix bugfix/
45+
git config gitflow.prefix.release release/
46+
git config gitflow.prefix.hotfix hotfix/
47+
git config gitflow.prefix.support support/
48+
git config gitflow.prefix.versiontag ''
49+
50+
echo "git config completed"
51+
# Extract version from PR description
52+
PR_DESC="${{ github.event.pull_request.body }}"
53+
# Get top tag from CHANGELOG.md
54+
TOP_TAG=$(grep -m 1 -oP '^#### \[\K[^\]]+' CHANGELOG.md)
55+
if [[ -z "$TOP_TAG" ]]; then
56+
echo "No version found in CHANGELOG.md!"
57+
exit 1
58+
fi
59+
# Validate TOP_TAG format (semantic versioning: major.minor.patch)
60+
if [[ ! "$TOP_TAG" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
61+
echo "Invalid version format in CHANGELOG.md: $TOP_TAG. Expected format: major.minor.patch"
62+
exit 1
63+
fi
64+
IFS='.' read -r major minor patch <<< "$TOP_TAG"
65+
VERSION_TYPE=$(echo "$PR_DESC" | grep -oiP 'version\s*:\s*\K(major|minor|patch)' | tr '[:upper:]' '[:lower:]')
66+
if [[ -z "$VERSION_TYPE" ]]; then
67+
echo "No version type found in PR description, defaulting to PATCH increment."
68+
patch=$((patch + 1))
69+
elif [[ "$VERSION_TYPE" == "major" ]]; then
70+
major=$((major + 1))
71+
minor=0
72+
patch=0
73+
elif [[ "$VERSION_TYPE" == "minor" ]]; then
74+
minor=$((minor + 1))
75+
patch=0
76+
elif [[ "$VERSION_TYPE" == "patch" ]]; then
77+
patch=$((patch + 1))
78+
else
79+
echo "Invalid version type in PR description: $VERSION_TYPE"
80+
exit 1
81+
fi
82+
RELEASE_VERSION="$major.$minor.$patch"
83+
echo "Using calculated version: $RELEASE_VERSION"
84+
echo "RELEASE_VERSION=$RELEASE_VERSION"
85+
echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_ENV
86+
# Check if tag already exists
87+
if git rev-parse "refs/tags/$RELEASE_VERSION" >/dev/null 2>&1; then
88+
echo "Tag $RELEASE_VERSION already exists. Skipping release."
89+
exit 0
90+
fi
91+
git flow release start $RELEASE_VERSION
92+
auto-changelog -v $RELEASE_VERSION
93+
git add CHANGELOG.md
94+
git commit -m "$RELEASE_VERSION release changelog updates"
95+
git flow release publish
96+
97+
- name: Finish release and push (default git-flow messages)
98+
run: |
99+
set -e
100+
cd project
101+
git flow release finish -m "$RELEASE_VERSION release" $RELEASE_VERSION
102+
git push origin main
103+
git push origin --tags
104+
git push origin develop
105+
106+
- name: Cleanup tag if workflow fails
107+
if: failure()
108+
run: |
109+
cd project
110+
git tag -d $RELEASE_VERSION || true
111+
git push origin :refs/tags/$RELEASE_VERSION || true

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,18 @@ All notable changes to this project will be documented in this file. Dates are d
44

55
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
66

7+
#### [1.15.0](https://github.com/rdkcentral/entservices-apis/compare/1.14.2...1.15.0)
8+
9+
- RDKEMW-6566: Change display-offset param to 64-bit [`#439`](https://github.com/rdkcentral/entservices-apis/pull/439)
10+
- RDKEMW-4778 : Create component-release.yml [`#431`](https://github.com/rdkcentral/entservices-apis/pull/431)
11+
- Merge tag '1.14.2' into develop [`a8ba6c0`](https://github.com/rdkcentral/entservices-apis/commit/a8ba6c0e367ee3803acb912237515b09f97e93a8)
12+
713
#### [1.14.2](https://github.com/rdkcentral/entservices-apis/compare/1.14.1...1.14.2)
814

15+
> 4 August 2025
16+
917
- RDKEMW-3229: Power and DeepSleep HAL migration to PowerManager plugin [`#365`](https://github.com/rdkcentral/entservices-apis/pull/365)
18+
- 1.14.2 release change log updates [`d4b4353`](https://github.com/rdkcentral/entservices-apis/commit/d4b43538d2c48ce2b03b42fb9f5d94dbd799eebe)
1019
- Merge tag '1.14.1' into develop [`abdb51d`](https://github.com/rdkcentral/entservices-apis/commit/abdb51d25bcb49130f67c9b08e4ce7bf6d32e601)
1120

1221
#### [1.14.1](https://github.com/rdkcentral/entservices-apis/compare/1.14.0...1.14.1)

apis/TextTrack/ITextTrack.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ struct EXTERNAL ITextTrack : virtual public Core::IUnknown {
431431
* @param data Is the data to display, properly formatted as per the expectations of the type used
432432
* @text sendSessionData
433433
*/
434-
virtual Core::hresult SendSessionData(const uint32_t sessionId, const DataType type, const int32_t displayOffsetMs, const string &data) = 0;
434+
virtual Core::hresult SendSessionData(const uint32_t sessionId, const DataType type, const int64_t displayOffsetMs, const string &data) = 0;
435435
/**
436436
* @brief Sends the current timestamp from a media player to a render session.
437437
* @details The STC is used in some forms of text rendering to compare against the text data PTS to determine its presentation time.

0 commit comments

Comments
 (0)