Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
207 commits
Select commit Hold shift + click to select a range
7294595
Deploy cla action
rdkcmf-jenkins Jun 24, 2025
7390ece
Merge tag '3.0.5' into develop
naveenkumarhanasi Sep 19, 2025
a0dc884
Update CODEOWNERS
sbarre01 Sep 22, 2025
38206e1
RDKEMW-8560 Remove schedule reboot and move reboot to background exec…
nhanasi Sep 23, 2025
6e2026e
Delete lib/rdk/rebootSTB.sh
nhanasi Sep 23, 2025
f3f5062
Delete systemd_units/scheduled-reboot.service
nhanasi Sep 23, 2025
5ee8ac5
Merge pull request #308 from rdkcentral/sbarre01-patch-1
sbarre01 Sep 24, 2025
7773fe7
Merge branch 'develop' into feature/RDKEMW-8560
nhanasi Sep 24, 2025
2d38ec2
Update rebootNow.sh
nhanasi Sep 24, 2025
42b452a
Update rebootNow.sh
nhanasi Sep 24, 2025
88b4f51
Update rebootNow.sh
nhanasi Sep 24, 2025
a496e69
Update NM_Dispatcher.sh
AravindanNC Sep 25, 2025
fa122a3
RDK-58220 Migrate Functionality In TR-69Hostif Scripts To Core Modules
udaykrishnag Sep 25, 2025
c23e38e
Merge branch 'develop' into feature/action-deploy-for/develop
rdkcmf-jenkins Sep 25, 2025
b5a3865
Deploy cla action
rdkcmf-jenkins Sep 25, 2025
2395480
Merge pull request #203 from rdkcentral/feature/action-deploy-for/dev…
Alan-Ryan Sep 25, 2025
f48867d
Update rebootNow.sh
nhanasi Sep 25, 2025
3c97a58
Merge branch 'develop' into feature/RDKEMW-8560
nhanasi Sep 26, 2025
2a82d90
Merge pull request #311 from rdkcentral/feature/RDKEMW-8560
nhanasi Sep 26, 2025
bc31b95
3.0.6 release changelog updates
naveenkumarhanasi Sep 26, 2025
288fc77
RDKE-900 RDKEMW-4899: Default to MTLS connection on all endpoints
Sep 29, 2025
0c670c5
Deploy fossid_integration_stateless_diffscan_target_repo action
rdkcmf-jenkins Sep 29, 2025
58ebf63
Merge pull request #323 from rdkcentral/feature/actions/develop-fossid
Alan-Ryan Sep 29, 2025
4d797df
Merge pull request #324 from rdkcentral/develop
MonekaLakshmi Sep 29, 2025
3cad662
Merge branch 'develop' into release/3.0.6
nhanasi Sep 29, 2025
597e60a
Merge branch 'release/3.0.6' into main
naveenkumarhanasi Sep 29, 2025
a629329
Merge tag '3.0.6' into develop
naveenkumarhanasi Sep 29, 2025
8fc06fd
Merge pull request #325 from rdkcentral/develop
MonekaLakshmi Sep 30, 2025
d77b8b6
Merge branch 'develop' into topic/RDK-58220_1
Sep 30, 2025
82806f9
Merge branch 'develop' into topic/RDKE-921
AravindanNC Sep 30, 2025
d1cb853
Merge pull request #313 from rdkcentral/topic/RDKE-921
nhanasi Sep 30, 2025
7b5a9b8
Merge pull request #328 from rdkcentral/develop
MonekaLakshmi Oct 1, 2025
8a175d8
Merge branch 'develop' into topic/RDK-58220_1
udaykrishnag Oct 1, 2025
5af2812
Merge pull request #326 from rdkcentral/topic/RDK-58220_1
udaykrishnag Oct 7, 2025
5109310
Merge pull request #329 from rdkcentral/develop
MonekaLakshmi Oct 8, 2025
f3e9d8f
RDKEMW-7549 : Increase in SYST_WARN_WiFiNotConn marker (#310)
nivetha1766 Oct 9, 2025
f1ab3f5
Merge branch 'develop' into topic/RDKE-860
MonekaLakshmi Oct 9, 2025
5a00b13
RDKEMW-8559 : Remove Box reboot counter reset services (#312)
Saranya2421 Oct 10, 2025
73ff4a8
3.0.7 release changelog updates
naveenkumarhanasi Oct 10, 2025
22db63f
Merge branch 'release/3.0.7' into main
naveenkumarhanasi Oct 10, 2025
e3c6a47
Merge tag '3.0.7' into develop
naveenkumarhanasi Oct 10, 2025
d35b0f6
Merge pull request #336 from rdkcentral/develop
MonekaLakshmi Oct 13, 2025
95645ac
Merge pull request #322 from rdkcentral/topic/RDKE-860
MonekaLakshmi Oct 13, 2025
8dd5ab9
RDK-59247:Migrate Functionality In Network scripts To Core Modules
Oct 15, 2025
da072c3
3.0.8 release changelog updates
naveenkumarhanasi Oct 24, 2025
1b77738
Merge branch 'release/3.0.8'
naveenkumarhanasi Oct 24, 2025
417596d
Merge tag '3.0.8' into develop
naveenkumarhanasi Oct 24, 2025
528ddce
RDKEMW-9675 FSR needs to remove NM profile in RDKE also (#346)
madhubabutt Oct 27, 2025
2fafedf
Merge branch 'develop' into topic/RDK-59247
Oct 27, 2025
515a568
RDKEMW-9343: Update boot_FSR as part of OPS_TRIGGERED reasons (#343)
fzahir786 Oct 28, 2025
79609a1
WNCXIONE-530: Synching changes from support/2.2.0 branch. (#350)
bpunnuru Oct 28, 2025
3dd2339
Create NetworkManager_ecfs.conf (#353)
bpunnuru Oct 30, 2025
5b5950b
RDKEMW-10017 : NetworkManager based connectivity check (#355)
sindhu-krishnan Nov 3, 2025
15cd4a1
4.0.0 release changelog updates
tdeva14 Nov 3, 2025
bfff35f
Merge branch 'release/4.0.0'
tdeva14 Nov 3, 2025
3133a34
Merge tag '4.0.0' into develop
tdeva14 Nov 3, 2025
93ce925
Update warehouse-reset.sh for NM cleanup (#359)
AravindanNC Nov 6, 2025
5f91560
Update update_previous_reboot_info.sh (#360)
nhanasi Nov 7, 2025
21529fb
Revert "RDKEMW-10017 : NetworkManager based connectivity check (#355)…
sindhu-krishnan Nov 10, 2025
6ba91e0
4.0.1 release changelog updates
tdeva14 Nov 10, 2025
7c64ecf
Merge branch 'release/4.0.1'
tdeva14 Nov 10, 2025
02213a0
Merge tag '4.0.1' into develop
tdeva14 Nov 10, 2025
e597498
RDKEMW-5622: Removing processPartnerIDChanges.sh for RDK-E (#302)
sergiygladkyy Nov 10, 2025
7ff46a5
Revert "WNCXIONE-530: Synching changes from support/2.2.0 branch." (#…
sindhu-krishnan Nov 10, 2025
e8e5d00
Revert "Revert "RDKEMW-10017 : NetworkManager based connectivity chec…
sindhu-krishnan Nov 10, 2025
ed3a2c9
Revert "Revert "WNCXIONE-530: Synching changes from support/2.2.0 bra…
AravindanNC Nov 14, 2025
8ac42a4
Merge branch 'develop' into topic/RDK-59247
Nov 17, 2025
f9f96b5
RDKEMW-10335 : Cleanup of xre-receiver code (#367)
vrenu2018 Nov 21, 2025
35adb09
Merge branch 'develop' into topic/RDK-59247
Nov 24, 2025
c5764ba
RDKEMW-10930: Include Swap Memory Details Into System Health Period M…
yogeswaransky Nov 27, 2025
44629c7
4.1.0 release changelog updates
tdeva14 Nov 28, 2025
c37e9e9
Merge branch 'release/4.1.0'
tdeva14 Nov 28, 2025
43d79a7
Merge tag '4.1.0' into develop
tdeva14 Nov 28, 2025
d9704e2
RDKEMW-9619 : Remove NTP client restarts (#375)
sindhu-krishnan Dec 3, 2025
67c57aa
4.2.0 release changelog updates
tdeva14 Dec 3, 2025
f54d768
Merge branch 'release/4.2.0'
tdeva14 Dec 3, 2025
7eeb0e9
Merge tag '4.2.0' into develop
tdeva14 Dec 3, 2025
1f69450
Merge branch 'develop' into topic/RDK-59247
Dec 3, 2025
e55763e
RDKEMW-9242, RDKEMW-11094: Network Migration changes for ENTOS (#382)
AravindanNC Dec 11, 2025
818133f
RDKEMW-11602: Name resolution error in Peacock App (#397)
AravindanNC Dec 15, 2025
72776fc
4.2.1 release changelog updates
naveenkumarhanasi Dec 17, 2025
5b56136
Merge branch 'release/4.2.1'
naveenkumarhanasi Dec 17, 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
16d826b
SERXIONE-8331 : Added viper_ipa to exceptions for /media/apps/sky/pa…
naveenkumarhanasi Jan 16, 2026
7394e84
Sysint 4.2.1 hotfix release
naveenkumarhanasi Jan 16, 2026
473d99f
Merge branch 'hotfix/4.2.1v1' into support/4.2.1
naveenkumarhanasi 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
0b7a028
RDKEVD-5412: ES1 RTK Release 1.5.0
Jan 23, 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
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @rdkcentral/rdke_ghec_sysint_maintainer @rdkcentral/rdke_ghec_sysint_admin
* @rdkcentral/rdke_ghec_sysint_maintainer
20 changes: 20 additions & 0 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: "CLA"

permissions:
contents: read
pull-requests: write
actions: write
statuses: write

on:
issue_comment:
types: [created]
pull_request_target:
types: [opened, closed, synchronize]

jobs:
CLA-Lite:
name: "Signature"
uses: rdkcentral/cmf-actions/.github/workflows/cla.yml@v1
secrets:
PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_ASSISTANT }}
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