diff --git a/.github/workflows/component-release.yml b/.github/workflows/component-release.yml index 21a0a3b..f05845f 100644 --- a/.github/workflows/component-release.yml +++ b/.github/workflows/component-release.yml @@ -4,27 +4,16 @@ permissions: contents: write on: - pull_request: - types: [opened, edited, ready_for_review, closed] - branches: - - develop + workflow_dispatch: + inputs: + tag: + description: 'Tag version to release (e.g. 1.2.3)' + required: true + type: string jobs: - validate-version: - if: ${{ github.event.action == 'opened' || github.event.action == 'edited' || github.event.action == 'ready_for_review' }} - runs-on: ubuntu-latest - steps: - - name: Validate PR description for version field - env: - PR_DESC: ${{ github.event.pull_request.body }} - run: | - if ! echo "$PR_DESC" | grep -qiE 'version[[:space:]]*:[[:space:]]*(major|minor|patch)'; then - echo "ERROR: PR description must include a version field in the format 'version: major|minor|patch' (case-insensitive). Example: version: minor" - exit 1 - fi - echo "Validation passed: version field found." release: - if: github.event.pull_request.merged == true + if: github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: @@ -61,40 +50,8 @@ jobs: 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" + RELEASE_VERSION="${{ inputs.tag }}" + echo "Using manually inputted 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 diff --git a/CHANGELOG.md b/CHANGELOG.md index 095d668..6ff132f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,35 @@ 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.0.4](https://github.com/rdkcentral/entservices-testframework/compare/1.0.3...1.0.4) + +- RDKEMW-16428: Add cmdline entry into proc_t to fix build error in UT [`#14`](https://github.com/rdkcentral/entservices-testframework/pull/14) +- Merge tag '1.0.3' into develop [`84a45b3`](https://github.com/rdkcentral/entservices-testframework/commit/84a45b33bf3f68ef26de6b080703e2f45b523810) + +#### [1.0.3](https://github.com/rdkcentral/entservices-testframework/compare/1.0.2...1.0.3) + +> 17 April 2026 + +- RDKEMW - Remove pr dependency on this workflow [`#13`](https://github.com/rdkcentral/entservices-testframework/pull/13) +- Feature/rdkemw 17153 [`#12`](https://github.com/rdkcentral/entservices-testframework/pull/12) +- 1.0.3 release changelog updates [`24204e8`](https://github.com/rdkcentral/entservices-testframework/commit/24204e8b8687fdc580503dd37d593a221cc02918) +- Merge tag '1.0.2' into develop [`7eb1841`](https://github.com/rdkcentral/entservices-testframework/commit/7eb1841706384b114628baf14906a0e2c2a448a5) + +#### [1.0.2](https://github.com/rdkcentral/entservices-testframework/compare/1.0.1...1.0.2) + +> 15 April 2026 + +- feature/RDKEMW-17153 - Update component release yml file [`#10`](https://github.com/rdkcentral/entservices-testframework/pull/10) +- RDKE-767 : [OSCR SCAN] RDKE - entservices-testframework [`#9`](https://github.com/rdkcentral/entservices-testframework/pull/9) +- RDKEMW-15693: Add API to clear CDN access token for AuthService plugin [`#6`](https://github.com/rdkcentral/entservices-testframework/pull/6) +- Update CODEOWNERS file [`#3`](https://github.com/rdkcentral/entservices-testframework/pull/3) +- 1.0.2 release changelog updates [`abcdc7e`](https://github.com/rdkcentral/entservices-testframework/commit/abcdc7e65613f03cad2e5a125a06103487323839) +- Update CODEOWNERS [`a27e8e7`](https://github.com/rdkcentral/entservices-testframework/commit/a27e8e7f63082514797dd1ee00a1aaefba301925) +- Merge tag '1.0.1' into develop [`e62bfcd`](https://github.com/rdkcentral/entservices-testframework/commit/e62bfcdf2da3c85138b2c55a59633e96a0129dde) + #### 1.0.1 +> 4 April 2026 + - Import of source (develop) [`bbeaec2`](https://github.com/rdkcentral/entservices-testframework/commit/bbeaec2ba8d75305f1e8d04cce9e4db3b2999f76) +- Changelog updates for 1.0.1 [`ce34907`](https://github.com/rdkcentral/entservices-testframework/commit/ce3490772873b8e22d4c398943a2d9eb0a8a1706) diff --git a/Tests/mocks/PlayerInfoMock.h b/Tests/mocks/PlayerInfoMock.h index 69701a9..1d231d0 100644 --- a/Tests/mocks/PlayerInfoMock.h +++ b/Tests/mocks/PlayerInfoMock.h @@ -1,3 +1,22 @@ +/* + * If not stated otherwise in this file or this component's LICENSE file the + * following copyright and licenses apply: + * + * Copyright 2026 RDK Management + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #pragma once #include #include "PlayerInfo.h" @@ -69,4 +88,4 @@ class MockRemoteConnection : public RPC::IRemoteConnection { MOCK_METHOD(uint32_t, Launch, (), (override)); MOCK_METHOD(void, PostMortem, (), (override)); MOCK_METHOD(void*, QueryInterface, (uint32_t), (override)); -}; \ No newline at end of file +}; diff --git a/Tests/mocks/SecureStorageServerMock.cpp b/Tests/mocks/SecureStorageServerMock.cpp index da7290f..094b80e 100644 --- a/Tests/mocks/SecureStorageServerMock.cpp +++ b/Tests/mocks/SecureStorageServerMock.cpp @@ -1,3 +1,22 @@ +/* + * If not stated otherwise in this file or this component's LICENSE file the + * following copyright and licenses apply: + * + * Copyright 2026 RDK Management + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #include "SecureStorageServerMock.h" #include #include diff --git a/Tests/mocks/SecureStorageServerMock.h b/Tests/mocks/SecureStorageServerMock.h index 3e334b8..5ff7bbc 100644 --- a/Tests/mocks/SecureStorageServerMock.h +++ b/Tests/mocks/SecureStorageServerMock.h @@ -1,3 +1,22 @@ +/* + * If not stated otherwise in this file or this component's LICENSE file the + * following copyright and licenses apply: + * + * Copyright 2026 RDK Management + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #pragma once #include diff --git a/Tests/mocks/essos-resmgr.h b/Tests/mocks/essos-resmgr.h index 4d4d927..f61f0ea 100644 --- a/Tests/mocks/essos-resmgr.h +++ b/Tests/mocks/essos-resmgr.h @@ -1,5 +1,5 @@ /* - * If not stated otherwise in this file or this component's Licenses.txt file the + * If not stated otherwise in this file or this component's LICENSE file the * following copyright and licenses apply: * * Copyright 2019 RDK Management diff --git a/Tests/mocks/maintenanceMGR.h b/Tests/mocks/maintenanceMGR.h index ecba0d0..a951032 100644 --- a/Tests/mocks/maintenanceMGR.h +++ b/Tests/mocks/maintenanceMGR.h @@ -1,5 +1,5 @@ /* - * If not stated otherwise in this file or this component's Licenses.txt file the + * If not stated otherwise in this file or this component's LICENSE file the * following copyright and licenses apply: * * Copyright 2021 RDK Management @@ -65,4 +65,4 @@ }IARM_Bus_MaintMGR_EventData_t; - #endif \ No newline at end of file + #endif diff --git a/Tests/mocks/readprocMockInterface.h b/Tests/mocks/readprocMockInterface.h index 2bd6bc1..222b8d1 100755 --- a/Tests/mocks/readprocMockInterface.h +++ b/Tests/mocks/readprocMockInterface.h @@ -26,6 +26,7 @@ #define PROC_FILLSTATUS 0x0020 // read status #define PROC_FILLMEM 0x0001 // read statm #define PROC_FILLSTAT 0x0040 // read stat +#define PROC_FILLCOM 0x0200 // fill cmdline typedef struct proc_t { // 1st 16 bytes @@ -34,6 +35,7 @@ int ppid; // stat,status pid of parent process char cmd[16]; // stat,status basename of executable file in call to exec(2) +char **cmdline; // cmdline the complete command line for the process, including arguments (see also: comm) } proc_t; @@ -66,8 +68,4 @@ class ProcImpl { extern PROCTAB* (*openproc)(int, ...); extern void (*closeproc)(PROCTAB*); -extern proc_t* (*readproc)(PROCTAB*, proc_t*); - - - - +extern proc_t* (*readproc)(PROCTAB*, proc_t*); \ No newline at end of file diff --git a/Tests/mocks/systemaudioplatformmock.h b/Tests/mocks/systemaudioplatformmock.h index 8a1d74f..4a66e6c 100644 --- a/Tests/mocks/systemaudioplatformmock.h +++ b/Tests/mocks/systemaudioplatformmock.h @@ -1,3 +1,22 @@ +/* + * If not stated otherwise in this file or this component's LICENSE file the + * following copyright and licenses apply: + * + * Copyright 2026 RDK Management + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + #pragma once #include "systemaudioplatform.h" @@ -16,4 +35,4 @@ class SystemAudioPlatformAPIMock : public ISystemAudioPlatform { MOCK_METHOD(void, systemAudioSetThreshold, (double thresHold), (override)); MOCK_METHOD(void, systemAudioSetVolume, (GstElement * audioVolume, AudioType audioType, PlayMode playMode, int thisVol), (override)); MOCK_METHOD(bool, systemAudioGeneratePipeline, (GstElement * *pipeline, GstElement** source, GstElement* capsfilter, GstElement** audioSink, GstElement** audioVolume, AudioType type, PlayMode mode, SourceType sourceType, bool smartVolumeEnable), (override)); -}; \ No newline at end of file +}; diff --git a/Tests/mocks/tr181api.h b/Tests/mocks/tr181api.h index 7ea83ef..5edb6e8 100644 --- a/Tests/mocks/tr181api.h +++ b/Tests/mocks/tr181api.h @@ -1,5 +1,5 @@ /* - * If not stated otherwise in this file or this component's Licenses.txt file the + * If not stated otherwise in this file or this component's LICENSE file the * following copyright and licenses apply: * * Copyright 2016 RDK Management diff --git a/patches/RDKEMW-1007.patch b/patches/RDKEMW-1007.patch index 73989f6..0e3e40d 100755 --- a/patches/RDKEMW-1007.patch +++ b/patches/RDKEMW-1007.patch @@ -3,7 +3,7 @@ new file mode 100644 index 0000000..aabed49 --- /dev/null +++ b/apis/AuthService/IAuthService.h -@@ -0,0 +1,485 @@ +@@ -0,0 +1,492 @@ +/* + * If not stated otherwise in this file or this component's LICENSE file the + * following copyright and licenses apply: @@ -60,8 +60,8 @@ index 0000000..aabed49 + virtual void ServiceAccessTokenChanged() = 0; + // @text onPartnerIdChanged + // @brief The Partner ID has changed. -+ // @param oldPartnerId Previous partner ID -+ // @param newPartnerId New partner ID ++ // @param oldPartnerId old partner ID ++ // @param newPartnerId new partner ID + virtual void OnPartnerIdChanged(const string& oldPartnerId, const string& newPartnerId) = 0; + // @text onContentAccessTokenChanged + // @brief Indication for the clients that the Content Access Token is now changed so retrieve the token freshly @@ -220,9 +220,10 @@ index 0000000..aabed49 + + /**********************getContentAccessToken() - start****************************/ + // @text getContentAccessToken -+ // @brief Retrieves the content access token from the secured persistent location ++ // @brief Retrieves the content access token from the secure persistent location + // @param token - out - string + // @param expires - out - uint32_t ++ // @return Core::hresult - status/error code indicating success or failure of the operation + virtual Core::hresult GetContentAccessToken(string& token /* @out */, uint32_t& expires /* @out */) = 0; + /**********************getContentAccessToken() - end****************************/ + @@ -405,7 +406,14 @@ index 0000000..aabed49 + // @brief Clears the authorization token + // @param SuccessMsgResult - out - struct + virtual uint32_t ClearAuthToken(SuccessMsgResult& setStat /* @out */) = 0; -+ /**********************clearAuthToken() - start****************************/ ++ /**********************clearAuthToken() - end****************************/ ++ ++ /**********************clearContentAccessToken() - start****************************/ ++ // @text clearContentAccessToken ++ // @brief Clears the content access token from the secure persistent location ++ // @param SuccessMsgResult - out - struct ++ virtual Core::hresult ClearContentAccessToken(SuccessMsgResult& setStat /* @out */) = 0; ++ /**********************clearContentAccessToken() - end****************************/ + + /**********************clearSessionToken() - start****************************/ + // @text clearSessionToken