Skip to content

fixup! chore: CI to test CPP SDK #206

fixup! chore: CI to test CPP SDK

fixup! chore: CI to test CPP SDK #206

Workflow file for this run

# name: CXX build
# on:
# repository_dispatch:
# types: [trigger-workflow]
# workflow_dispatch:
# push:
# branches:
# - 'chore/cpp-ci-unit-coverage-report'
# pull_request:
# branches:
# - 'main'
# - 'next'
# types:
# - opened
# - synchronize
# env:
# HUSKY: 0
# jobs:
# thunder:
# name: Build Thunder Libraries
# runs-on: ubuntu-latest
# container:
# image: kevinshahfws/node-c:3.0
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Clone and Install Thunder
# id: install_thunder
# run: |
# .github/workflows/utils.sh cloneAndInstallThunder
# - name: Upload the library artifact
# uses: actions/upload-artifact@v3
# with:
# name: thunder
# path: /__w/firebolt-apis/install/
# openrpc:
# name: Build Openrpc Artifacts
# runs-on: ubuntu-latest
# container:
# image: kevinshahfws/node-c:3.0
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# repo-token: ${{ secrets.SEMANTIC_RELEASE_BOT_PAT }}
# persist-credentials: false
# - name: Setup Node.js
# uses: actions/setup-node@v2
# with:
# node-version: 'lts/*'
# - name: Set up NPM token
# env:
# NPM_TOKEN: ${{ secrets.SEMANTIC_RELEASE_NPM_TOKEN }}
# run: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc'
# - name: Cache npm dependencies
# uses: actions/cache@v3
# with:
# path: ~/.npm
# key: deps-node-modules-${{ hashFiles('package-lock.json') }}
# - name: Install dependencies
# run: npm install
# - name: Set file permissions
# run: |
# chmod -R 755 ./
# chown -R $(id -u):$(id -g) ./
# - name: Build Artifacts
# run: |
# npm run dist
# - name: Upload Core SDK
# uses: actions/upload-artifact@v3
# with:
# name: core
# path: src/sdks/core
# - name: Upload Manage SDK
# uses: actions/upload-artifact@v3
# with:
# name: manage
# path: src/sdks/manage
# - name: Upload Discovery SDK
# uses: actions/upload-artifact@v3
# with:
# name: discovery
# path: src/sdks/discovery
# core_sdk:
# name: Build Core SDK
# needs: [thunder, openrpc]
# runs-on: ubuntu-latest
# container:
# image: kevinshahfws/node-c:3.0
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Download Core SDK
# uses: actions/download-artifact@v3
# with:
# name: core
# path: /__w/firebolt-apis/firebolt-apis/src/sdks/core
# - name: Download Thunder
# uses: actions/download-artifact@v3
# with:
# name: thunder
# path: /__w/thunder/install/
# - name: Firebolt Openrpc
# run: |
# mkdir -p /__w/openrpc
# cd /__w/openrpc
# git init
# git remote add -f origin https://github.com/rdkcentral/firebolt-openrpc.git
# git config core.sparseCheckout true
# echo "languages/cpp/src/shared/CMakeLists.txt" >> .git/info/sparse-checkout
# git pull origin chore/cpp-ci-unit-covorage-report
# - name: Cache npm dependencies
# uses: actions/cache@v3
# with:
# path: ~/.npm
# key: deps-node-modules-${{ hashFiles('package-lock.json') }}
# - name: Install npm dependencies
# run: npm install
# - name: Generate core SDK source code
# run: |
# .github/workflows/utils.sh generate_cpp_core_sdk_source_code
# - name: Build CXX Core SDK
# run: |
# .github/workflows/utils.sh build_core_cpp_sdk
# - name: Test CXX Core SDK
# run: |
# .github/workflows/utils.sh test_core_cpp_sdk
# manage_sdk:
# name: Build Manage SDK
# needs: [thunder, openrpc]
# runs-on: ubuntu-latest
# container:
# image: kevinshahfws/node-c:3.0
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Download Manage SDK
# uses: actions/download-artifact@v3
# with:
# name: manage
# path: /__w/firebolt-apis/firebolt-apis/src/sdks/manage
# - name: Download Thunder
# uses: actions/download-artifact@v3
# with:
# name: thunder
# path: /__w/thunder/install/
# - name: Cache npm dependencies
# uses: actions/cache@v3
# with:
# path: ~/.npm
# key: deps-node-modules-${{ hashFiles('package-lock.json') }}
# - name: Install npm dependencies
# run: npm install
# - name: Generate manage SDK source code
# run: |
# .github/workflows/utils.sh generate_cpp_manage_sdk_source_code
# - name: Build CXX manage SDK
# run: |
# .github/workflows/utils.sh build_manage_cpp_sdk
# dicovery_sdk:
# name: Build Discovery SDK
# needs: [thunder, openrpc]
# runs-on: ubuntu-latest
# container:
# image: kevinshahfws/node-c:3.0
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Download Discovery SDK
# uses: actions/download-artifact@v3
# with:
# name: discovery
# path: /__w/firebolt-apis/firebolt-apis/src/sdks/discovery
# - name: Download Thunder
# uses: actions/download-artifact@v3
# with:
# name: thunder
# path: /__w/thunder/install/
# - name: Cache npm dependencies
# uses: actions/cache@v3
# with:
# path: ~/.npm
# key: deps-node-modules-${{ hashFiles('package-lock.json') }}
# - name: Install npm dependencies
# run: npm install
# - name: Generate discovery SDK source code
# run: |
# .github/workflows/utils.sh generate_cpp_discovery_sdk_source_code
# - name: Build CXX Discovery SDK
# run: |
# .github/workflows/utils.sh build_discovery_cpp_sdk
name: CXX build
on:
repository_dispatch:
types: [trigger-workflow]
workflow_dispatch:
push:
branches:
- 'chore/cpp-ci-unit-coverage-report'
pull_request:
branches:
- 'main'
- 'next'
types:
- opened
- synchronize
env:
HUSKY: 0
jobs:
thunder:
name: Build Thunder Libraries
runs-on: ubuntu-latest
container:
image: node:latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name : Setup Environment
shell: bash
run: |
apt update
apt install -y cmake ninja-build python3-pip python3.11-venv
python3 -m venv firebolt-env
source firebolt-env/bin/activate
pip install jsonref
.github/workflows/utils.sh cloneAndInstallThunder
# cd ..
# git clone https://github.com/rdkcentral/Thunder.git
# cd Thunder
# git checkout 283b3d54334010403d85a4e69b3835de23e42331
# cd ..
# git clone https://github.com/rdkcentral/ThunderTools.git
# cd ThunderTools
# git checkout 64b72b5ed491436b0e6bc2327d8a7b0e75ee2870
# cd ..
# cmake -G Ninja -S ThunderTools -B build/ThunderTools -DCMAKE_INSTALL_PREFIX="install/usr"
# cmake --build build/ThunderTools --target install
# cmake -G Ninja -S Thunder -B build/Thunder -DBUILD_SHARED_LIBS=ON -DBINDING="127.0.0.1" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX="install/usr" -DCMAKE_MODULE_PATH="${PWD}/install/usr/include/WPEFramework/Modules" -DDATA_PATH="${PWD}/install/usr/share/WPEFramework" -DPERSISTENT_PATH="${PWD}/install/var/wpeframework" -DPORT="55555" -DPROXYSTUB_PATH="${PWD}/install/usr/lib/wpeframework/proxystubs" -DSYSTEM_PATH="${PWD}/install/usr/lib/wpeframework/plugins" -DVOLATILE_PATH="tmp"
# cmake --build build/Thunder --target install
- name: Upload the library artifact
uses: actions/upload-artifact@v3
with:
name: thunder
path: /__w/firebolt-apis/install/
# openrpc:
# name: Build Openrpc Artifacts
# needs: thunder
# runs-on: ubuntu-latest
# container:
# image: kevinshahfws/node-c:3.0
# steps:
# - name: Firebolt Openrpc
# run: |
# mkdir -p /__w/openrpc
# cd /__w/openrpc
# git init
# git remote add -f origin https://github.com/rdkcentral/firebolt-openrpc.git
# git config core.sparseCheckout true
# echo "languages/cpp/src/shared/CMakeLists.txt" >> .git/info/sparse-checkout
# echo "languages/cpp/templates/sdk/scripts/build.sh" >> .git/info/sparse-checkout
# git pull origin chore/cpp-ci-unit-covorage-report
# - name: Download Thunder
# uses: actions/download-artifact@v3
# with:
# name: thunder
# path: /__w/thunder/install/
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# repo-token: ${{ secrets.SEMANTIC_RELEASE_BOT_PAT }}
# persist-credentials: false
# - name: Setup Node.js
# uses: actions/setup-node@v2
# with:
# node-version: 'lts/*'
# - name: Set up NPM token
# env:
# NPM_TOKEN: ${{ secrets.SEMANTIC_RELEASE_NPM_TOKEN }}
# run: 'echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc'
# - name: Cache npm dependencies
# uses: actions/cache@v3
# with:
# path: ~/.npm
# key: deps-node-modules-${{ hashFiles('package-lock.json') }}
# - name: Install dependencies
# run: npm install
# - name: Set file permissions
# run: |
# chmod -R 755 ./
# chown -R $(id -u):$(id -g) ./
# - name: Build Artifacts
# run: |
# npm run dist
# - name: Generate core SDK source code
# run: |
# .github/workflows/utils.sh generate_cpp_core_sdk_source_code
# - name: Upload artifacts
# uses: actions/upload-artifact@v3
# with:
# name: core
# path: /__w/firebolt-apis/firebolt-apis/src/sdks/core/build/cpp/src/
# - name: Build CXX Core SDK
# run: |
# .github/workflows/utils.sh build_core_cpp_sdk
# - name: Test CXX Core SDK
# run: |
# .github/workflows/utils.sh test_core_cpp_sdk