Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
8dd5ab9
RDK-59247:Migrate Functionality In Network scripts To Core Modules
Oct 15, 2025
2fafedf
Merge branch 'develop' into topic/RDK-59247
Oct 27, 2025
8ac42a4
Merge branch 'develop' into topic/RDK-59247
Nov 17, 2025
35adb09
Merge branch 'develop' into topic/RDK-59247
Nov 24, 2025
1f69450
Merge branch 'develop' into topic/RDK-59247
Dec 3, 2025
1df413f
Merge tag '4.2.1' into develop
naveenkumarhanasi Dec 17, 2025
937d21f
Merge branch 'develop' into topic/RDK-59247
Dec 19, 2025
b86bfe3
RDK-59247: cleaning up network scripts.
udaykrishnag Dec 19, 2025
880d752
RDKEMW-11363: [NM Dispatcher] Reduce repetitive logging (#415)
AravindanNC Jan 14, 2026
1775157
Merge branch 'develop' into topic/RDK-59247
udaykrishnag Jan 14, 2026
38da422
Merge pull request #402 from rdkcentral/topic/RDK-59247
udaykrishnag Jan 15, 2026
fe25fa7
SERXIONE-8331 : Added viper_ipa to exceptions for /media/apps/sky/pa…
sborushevsky Jan 16, 2026
661b82c
RDK-57502 - [RDKE] Migrate Operation Support Log Upload Related Scrip…
Abhinavpv28 Jan 20, 2026
a8ca15d
Sysint 4.2.2 release changelog updates
nhanasi Jan 21, 2026
2aa1f8e
Merge branch 'release/4.2.2'
nhanasi Jan 21, 2026
59b4013
Merge tag '4.2.2' into develop
nhanasi Jan 21, 2026
fbb7a3e
Merge branch 'feature/RDKEVD-5412' into develop
nhanasi Jan 27, 2026
7b085a2
Create readBTAddress-generic.sh
nhanasi Jan 23, 2026
be909e8
Update getDeviceDetails.sh
nhanasi Jan 23, 2026
1bebeb8
Update lib/rdk/getDeviceDetails.sh
nhanasi Jan 23, 2026
668eeca
Update readBTAddress-generic.sh
nhanasi Jan 23, 2026
7e605fd
Update getDeviceDetails.sh
nhanasi Jan 23, 2026
fac7dfc
Update readBTAddress-generic.sh
nhanasi Jan 23, 2026
1be51ef
Update getDeviceDetails.sh
nhanasi Jan 23, 2026
27f8e41
Update getDeviceDetails.sh
nhanasi Jan 23, 2026
f8b2432
Update readBTAddress-generic.sh
nhanasi Jan 23, 2026
73181a5
RDK-59964 : ZeroConfig (IPv4LL) support for EntOS - AirPlay Devices (…
gururaajar Jan 30, 2026
e455a80
Sysint 4.2.3 release changelog updates
naveenkumarhanasi Jan 30, 2026
2a428f5
Sysint 4.2.3 release changelog updates (#437)
nhanasi Jan 30, 2026
138be84
RDK-59964: Sysint 4.2.3 release (#438)
nhanasi Jan 30, 2026
c9c32a2
Merge branch 'release/4.2.3'
naveenkumarhanasi Jan 30, 2026
07c7aab
Merge tag '4.2.3' into develop
naveenkumarhanasi Jan 30, 2026
84339f4
XIONE-18284: Need to add monarch process name for core upload (#441)
nhanasi Feb 3, 2026
d1b176a
RDKEMW-13059: Include utility indepenent of T2 for telemetry upload (…
shibu-kv Feb 3, 2026
a232c32
4.3.0 release changelog updates
tdeva14 Feb 6, 2026
488750c
Merge branch 'release/4.3.0'
tdeva14 Feb 6, 2026
8fcdc31
Merge tag '4.3.0' into develop
tdeva14 Feb 6, 2026
d52473a
Revert "XIONE-18284: Need to add monarch process name for core upload…
nhanasi Feb 9, 2026
4022281
RDKEMW-13687: Increase Timeout for NTP PartnerURL Read (#450)
sindhu-krishnan Feb 11, 2026
76bf8f0
4.3.1 release changelog updates
tdeva14 Feb 11, 2026
4a29ec2
Merge branch 'release/4.3.1'
tdeva14 Feb 11, 2026
354b182
Merge tag '4.3.1' into develop
tdeva14 Feb 11, 2026
999928c
Disable password authentication (#427)
NareshM1702 Feb 25, 2026
2d7ca69
<Sysint 4.3.2 release changelog updates
nhanasi Feb 26, 2026
c21ba73
Sysint 4.3.2 release changelog updates (#463)
nhanasi Feb 26, 2026
d0cbe87
RDKEMW-12868: Sysint 4.3.2 release changelog updates (#464)
nhanasi Feb 26, 2026
db73c8d
Merge branch 'release/4.3.2'
nhanasi Feb 26, 2026
ce34886
Merge tag '4.3.2' into develop
nhanasi Feb 26, 2026
13e79f9
RDK-59974 : Migrate rebootNow script to C - Implementation (#459)
Saranya2421 Feb 27, 2026
f085b1d
4.4.0 release changelog updates
tdeva14 Feb 27, 2026
ebcf851
Merge branch 'release/4.4.0'
tdeva14 Feb 27, 2026
92173b4
Merge tag '4.4.0' into develop
tdeva14 Feb 27, 2026
7598c95
RDKEMW-14726 - Implement Chrony runtime selection for Time Sync (#469)
sindhu-krishnan Mar 10, 2026
ded2a59
4.5.0 release changelog updates
tdeva14 Mar 10, 2026
f9bec1c
Merge branch 'release/4.5.0'
tdeva14 Mar 10, 2026
aebdac3
Merge tag '4.5.0' into develop
tdeva14 Mar 10, 2026
2dc0d67
RDKEMW-9393 : Dropbear is using prod Key to connect to devices runnin…
KTirumalaSrihari Mar 11, 2026
6596c78
4.5.1 release changelog updates
tdeva14 Mar 11, 2026
8668de9
Merge branch 'release/4.5.1'
tdeva14 Mar 11, 2026
b94cde6
Merge tag '4.5.1' into develop
tdeva14 Mar 11, 2026
6a71c71
SERXIONE-8445:PREVIOUS_LOG event observed false reporting telemetry i…
dharshini555 Mar 11, 2026
ad07789
Update 10-unmanaged-devices for unmanaging wl0.2
aminaseyyad Mar 13, 2026
5dd81f9
[RDKEMW-14881] Updating wifi reassociation threshould tolerance RFC …
udaykrishnag Mar 13, 2026
94f6e42
Sysint 4.5.2 release changelog updates
naveenkumarhanasi Mar 13, 2026
029809e
Sysint 4.5.2 release changelog updates (#484)
nhanasi Mar 13, 2026
cfc061b
Sysint 4.5.2 release changelog updates (#483)
nhanasi Mar 13, 2026
0af8bee
Merge branch 'release/4.5.2'
naveenkumarhanasi Mar 13, 2026
e34a943
Merge tag '4.5.2' into develop
naveenkumarhanasi Mar 13, 2026
9b8505a
Merge branch 'develop' into topic/RDKMVE-1740
aminaseyyad Mar 14, 2026
06dc579
Merge pull request #482 from rdkcentral/topic/RDKMVE-1740
AravindanNC Mar 18, 2026
4f77233
Update previous-log-backup.service
Abhinavpv28 Mar 18, 2026
7335293
Update device.properties (#472)
KTirumalaSrihari Mar 19, 2026
57b3c12
Sysint 4.5.3 release changelog updates
naveenkumarhanasi Mar 20, 2026
4b963e5
Merge branch 'release/4.5.3'
naveenkumarhanasi Mar 20, 2026
3bd6471
Merge tag '4.5.3' into develop
naveenkumarhanasi Mar 20, 2026
dee962f
Merge pull request #487 from rdkcentral/develop
Abhinavpv28 Mar 23, 2026
2c94e2e
Script cleanup
Mar 25, 2026
9ea66e2
Remove uploadSTBLogs.sh script reference
Mar 25, 2026
f554628
Merge pull request #488 from rdkcentral/feature/backuplog
Abhinavpv28 Mar 26, 2026
3d2215e
Merge pull request #492 from rdkcentral/develop
Abhinavpv28 Mar 26, 2026
925c788
Delete lib/rdk/uploadSTBLogs.sh
Abhinavpv28 Mar 26, 2026
50d0537
Delete lib/rdk/usbLogUpload.sh
Abhinavpv28 Mar 26, 2026
ade8cc2
Delete lib/rdk/UploadLogsNow.sh
Abhinavpv28 Mar 26, 2026
56c3713
Merge pull request #491 from rdkcentral/feature/script_cleanup
Abhinavpv28 Mar 26, 2026
adf5b1b
Sysint 4.5.4 release changelog updates
naveenkumarhanasi Mar 27, 2026
9307d25
Merge branch 'release/4.5.4'
naveenkumarhanasi Mar 27, 2026
d9f48c0
Merge tag '4.5.4' into develop
naveenkumarhanasi Mar 27, 2026
0f3db13
Delete lib/rdk/backup_logs.sh
Abhinavpv28 Mar 31, 2026
ced3966
Merge pull request #493 from rdkcentral/feature/backup_script_remove
Abhinavpv28 Apr 1, 2026
5c9f548
RDKEMW-16414: Replace type exec in NM_Bootstrap (#494)
AravindanNC Apr 1, 2026
631e4af
RDKEMW-15186 : [RDK-E] [TCHXi6] estb mac address is incorrect (#495)
Abhinavpv28 Apr 2, 2026
124d3bf
Sysint 4.5.5 release changelog updates
naveenkumarhanasi Apr 3, 2026
0f44776
Merge branch 'release/4.5.5'
naveenkumarhanasi Apr 3, 2026
654be5f
Merge tag '4.5.5' into develop
naveenkumarhanasi Apr 3, 2026
bc5e8d8
RDKEMW-15490 : Removing reboot script reference from sysint (#500)
Saranya2421 Apr 9, 2026
711601e
5.0.0 release changelog updates
tdeva14 Apr 9, 2026
9facdd3
Merge branch 'release/5.0.0'
tdeva14 Apr 9, 2026
af56fe3
Merge tag '5.0.0' into develop
tdeva14 Apr 9, 2026
be07e4b
RDKEMW-16664: Send integer value for MemAvailable to t2ValNotify (#496)
Copilot Apr 10, 2026
c31fdaf
RDKEMW-16446: No Wifi screen issue (#498)
AravindanNC Apr 13, 2026
f5f229b
RDKEMW-10284: Migrate stunnel to use P12 cert (#364)
Lasya-Prakarsha-D-V Apr 17, 2026
4d4ef7e
Sysint 5.0.1 release changelog updates
naveenkumarhanasi Apr 23, 2026
cd2d601
Merge branch 'release/5.0.1'
naveenkumarhanasi Apr 23, 2026
5d44360
Merge tag '5.0.1' into develop
naveenkumarhanasi Apr 23, 2026
0edbcde
RDKEMW-10725:gstreamer-cleanup conditions when cdl_flashed_file_name …
vrenu2018 Apr 27, 2026
f13d901
RDKEMW-17619 : [develop] OCDM_WVMediaKey and OCDM_SaThread changes in…
madhubabutt Apr 28, 2026
35cff6f
Revert "RDKEMW-10725:gstreamer-cleanup conditions when cdl_flashed_fi…
nhanasi May 1, 2026
d5bffcb
RDKEMW-17800:gst-cleanup conditions when cdl_flashed_file_name is not…
vrenu2018 May 4, 2026
0286694
RDKEMW-16774: [Security] Device partition structure seen in logs (#536)
Saranya2421 May 7, 2026
ddc1cea
RDKEMW-18159 : [develop] Corefile not getting uploaded for mutliqueue…
madhubabutt May 7, 2026
61155b6
RDKEMW-17726, RDKEMW-17727: Fix the Migration of RDKV-to-RDKE (#531)
jincysam87 May 7, 2026
d138055
RDKEMW-17800:gst-cleanup conditions when cdl_flashed_file_name is not…
vrenu2018 May 7, 2026
0e05ed7
Sysint 5.0.2 release changelog updates
naveenkumarhanasi May 7, 2026
c6bd2c5
Merge branch 'release/5.0.2'
naveenkumarhanasi May 7, 2026
1888519
Merge tag '5.0.2' into develop
naveenkumarhanasi May 7, 2026
6974aef
Update getPartnerProperty.sh (#541)
sindhu-krishnan May 8, 2026
3ce474d
5.1.0 release changelog updates
tdeva14 May 14, 2026
38641ab
Merge branch 'release/5.1.0'
tdeva14 May 14, 2026
4e51a4f
Merge tag '5.1.0' into develop
tdeva14 May 14, 2026
4a0a4b6
RDKE-1065: Automated Component Release workflow (#553)
yogeswaransky Jun 29, 2026
58e2d19
6.0.0 release changelog updates
yogeswaransky Jun 29, 2026
81639e3
Merge branch 'release/6.0.0'
yogeswaransky Jun 29, 2026
e96c345
Merge tag '6.0.0' into develop
yogeswaransky Jun 29, 2026
7101bb4
RDKE-1065: Using ubuntu-latest runner for release workflow (#557)
yogeswaransky Jun 29, 2026
bccb0fe
RDKE-1065: Automated Component release workflow (#562)
yogeswaransky Jul 5, 2026
400a9c4
RDKEMW-21159: avoid thermal call in deepsleep (#548) (#566)
apatel859 Jul 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions .github/workflows/component-release-finish-on-approval.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
name: Component Release Finish On Approval

on:
pull_request_review:
types: [submitted]

permissions:
contents: write
pull-requests: write

concurrency:
group: release-finish-${{ github.event.pull_request.head.ref }}
cancel-in-progress: false

jobs:
finish-release:
name: Finish release when PR is approved
if: >
github.event.review.state == 'approved' &&
github.event.pull_request.base.ref == 'develop' &&
startsWith(github.event.pull_request.head.ref, 'release/')
runs-on: ubuntu-latest
env:
REPO: ${{ github.repository }}
ACTOR: ${{ github.event.review.user.login }}
GH_TOKEN: ${{ github.token }}
RELEASE_BRANCH: ${{ github.event.pull_request.head.ref }}

steps:
- name: Check approval status
id: approvals
run: |
set -euo pipefail
pr_number="${{ github.event.pull_request.number }}"
decision=$(gh pr view --repo "${REPO}" "${pr_number}" --json reviewDecision -q '.reviewDecision')
echo "PR #${pr_number} review decision: ${decision}"
if [ "${decision}" = "APPROVED" ]; then
echo "should_finish=true" >> "$GITHUB_OUTPUT"
else
echo "PR is not fully approved yet. Waiting."
echo "should_finish=false" >> "$GITHUB_OUTPUT"
fi

- name: Checkout repository
if: steps.approvals.outputs.should_finish == 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
ssh-key: ${{ secrets.RDKCM_DEPLOY_KEY }}

- name: Install release tools
if: steps.approvals.outputs.should_finish == 'true'
run: |
set -euo pipefail
sudo apt-get update
sudo apt-get install -y git-flow

- name: Configure git identity
if: steps.approvals.outputs.should_finish == 'true'
run: |
set -euo pipefail
git config user.name "${ACTOR}"
git config user.email "${ACTOR}@users.noreply.github.com"

- name: Finish release and push
if: steps.approvals.outputs.should_finish == 'true'
run: |
set -euo pipefail
release_version="${RELEASE_BRANCH#release/}"

git fetch --prune origin

# Skip if tag already exists
if git ls-remote --exit-code --tags origin "refs/tags/${release_version}" >/dev/null 2>&1; then
echo "Tag ${release_version} already exists on origin. Skipping release finish."
exit 0
fi

# Checkout the release branch
if git show-ref --verify --quiet "refs/heads/${RELEASE_BRANCH}"; then
git checkout "${RELEASE_BRANCH}"
elif git ls-remote --exit-code --heads origin "${RELEASE_BRANCH}" >/dev/null 2>&1; then
git checkout -b "${RELEASE_BRANCH}" "origin/${RELEASE_BRANCH}"
else
echo "${RELEASE_BRANCH} does not exist locally or on origin."
exit 1
fi

# Ensure main and develop exist locally
git checkout main 2>/dev/null || git checkout -b main origin/main
git checkout develop 2>/dev/null || git checkout -b develop origin/develop
git checkout "${RELEASE_BRANCH}"

# Initialize git-flow
git flow init -d

# Finish release: merges to main + develop, creates tag
git flow release finish -m "Release ${release_version}" "${release_version}"
git push origin main
git push origin --tags
git push origin develop
git push origin --delete "${RELEASE_BRANCH}" || true

- name: Close the release PR
if: steps.approvals.outputs.should_finish == 'true'
run: |
set -euo pipefail
pr_number="${{ github.event.pull_request.number }}"
gh pr close "${pr_number}" --repo "${REPO}" --comment "Release finished by automation. Merged via git flow release finish." || true

- name: Workflow summary
if: always()
run: |
{
echo "## Release Finish On Approval"
echo "- Repository: ${REPO}"
echo "- Release branch: ${RELEASE_BRANCH}"
echo "- Triggered by review: ${{ github.event.review.state }}"
echo "- Finished release: ${{ steps.approvals.outputs.should_finish || 'false' }}"
} >> "$GITHUB_STEP_SUMMARY"
103 changes: 103 additions & 0 deletions .github/workflows/component-release-workflow-usage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Automated Release Workflow

Automates main release and hotfix flows via GitHub Actions.

## Workflows

### 1. Component Release (`component-release.yml`)

Triggered manually from the **Actions** tab via `workflow_dispatch`.

#### Inputs

| Input | Required | Description |
|-------|----------|-------------|
| `release_version` | Yes | Release version (for example: `5.2.0`, `5.2.0-rc1`) |
| `release_type` | Yes | `main` or `hotfix` |
| `release_mode` | Yes | `approvable` or `auto-complete` (ignored for hotfix) |
| `source_branch` | Hotfix only | Support branch for hotfix (for example: `support/5.0`) |

#### Concurrency

Runs are serialized per release key:

- `component-release-<release_type>-<release_version>`

This prevents two runs for the same version/type from racing on branches/tags.

#### Release Modes

**Main release - auto-complete**
1. Validates version format.
2. Runs `git flow release start` -> changelog -> `release publish` -> `release finish`.
3. Pushes `main`, `develop`, and tags.

**Main release - approvable**
1. Validates version format.
2. Runs `git flow release start` -> changelog -> `release publish`.
3. Creates a PR: `release/<version>` -> `develop`.
4. Stops and waits for PR approval.
5. On approval, the second workflow finishes the release.

**Hotfix (always auto-complete)**
1. Requires `source_branch` input.
2. Validates `source_branch` against `^[A-Za-z0-9._/-]+$`.
3. Creates/uses `hotfix/<version>` from `source_branch`, updates changelog, merges back into `source_branch` only.
4. Creates tag `<version>`.
5. Pushes only `source_branch` and tag (`main`/`develop` are not pushed).

### 2. Component Release Finish On Approval (`component-release-finish-on-approval.yml`)

Triggered on approved review for `release/*` PRs targeting `develop`.

#### What it does
1. Verifies PR review decision is `APPROVED`.
2. Checks out release branch.
3. Runs `git flow release finish` (merge to `main` + `develop`, create tag).
4. Pushes `main`, `develop`, and tags.
5. Closes the release PR.

## Authentication and Secrets

Both workflows use:

- `RDKCM_DEPLOY_KEY`: SSH private key used by checkout and git push operations.
- `github.token`: built-in GitHub Actions token used by `gh` API/CLI calls.

Why `github.token`:

- It is automatically provided for each workflow run.
- It avoids introducing a custom repository secret for API access.
- It works with the workflow permissions already declared in these jobs.

## Failure Cleanup Safety

On failure, cleanup only removes refs created by the current run:

- Deletes tag only if the run created that tag.
- Deletes `release/<version>` only if the run created that local release branch.
- Deletes `hotfix/<version>` only if the run created that local hotfix branch.
- Skips cleanup if repository checkout is unavailable.

## Prerequisites

### Repository Settings

- **Settings -> Actions -> General -> Workflow permissions**: set to **Read and write permissions**.
- **Settings -> Actions -> General**: enable **Allow GitHub Actions to create and approve pull requests**.

### Branch Protection

- For approvable flow: enforce PR review rules on `develop`.
- For auto-complete flow pushes to `develop`: ensure the automation actor has appropriate bypass rights in repository rules.

## Version Format

Accepted examples:

- `5.2.0`
- `5.2.0-rc1`
- `5.2.0v1`
- `5.2.0.beta2`

Rule: `major.minor.patch` digits with optional suffix.
Loading
Loading