RDKEMW-13945-Fix L1 Issue on RFC Component #902
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: L2 Integration Tests for RFC | |
| on: | |
| pull_request: | |
| branches: [ develop, main ] | |
| env: | |
| AUTOMATICS_UNAME: ${{ secrets.AUTOMATICS_UNAME }} | |
| AUTOMATICS_PASSCODE: ${{ secrets.AUTOMATICS_PASSCODE }} | |
| jobs: | |
| execute-l2-tests-on-pr: | |
| name: Execute L2 Test in L2 Container Environment | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout RFC Code | |
| uses: actions/checkout@v4 | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v2 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v1 | |
| - name: Pull Mock XConf, Native Platform, and Docker RDK CI Images | |
| run: | | |
| docker pull ghcr.io/rdkcentral/docker-device-mgt-service-test/mockxconf:latest | |
| docker pull ghcr.io/rdkcentral/docker-device-mgt-service-test/native-platform:latest | |
| docker pull ghcr.io/rdkcentral/docker-rdk-ci:latest | |
| - name: Start mock-xconf service | |
| run: | | |
| docker run -d --name mockxconf -p 50050:50050 -p 50051:50051 -p 50052:50052 -p 50053:50053 -v ${{ github.workspace }}:/mnt/L2_CONTAINER_SHARED_VOLUME ghcr.io/rdkcentral/docker-device-mgt-service-test/mockxconf:latest | |
| - name: Copy xconf-rfc-response json to mockxconf service | |
| run: | | |
| docker cp ${{ github.workspace }}/test/test-artifacts/mockxconf/xconf-rfc-response.json mockxconf:/etc/xconf/xconf-rfc-response.json | |
| - name: List all processes inside mockxconf | |
| run: docker exec mockxconf ps -ef | |
| - name: Kill rfcData.js process | |
| run: | | |
| echo "Killing rfcData.js in mockxconf container..." | |
| docker exec mockxconf pkill -f "/usr/local/bin/rfcData.js" || echo "No rfcData.js process found" | |
| - name: Verify rfcData.js is not running | |
| run: | | |
| docker exec mockxconf pgrep -fl "/usr/local/bin/rfcData.js" || echo "rfcData.js successfully killed" | |
| - name: Copy updated rfcData.js | |
| run: | | |
| docker cp ${{ github.workspace }}/test/test-artifacts/mockxconf/rfcData.js mockxconf:/usr/local/bin/rfcData.js | |
| echo "Updated rfcData.js copied successfully" | |
| - name: Restart rfcData.js | |
| run: | | |
| docker exec -d mockxconf node /usr/local/bin/rfcData.js & | |
| - name: Start l2-container service | |
| run: | | |
| docker run -d --name native-platform --link mockxconf -v ${{ github.workspace }}:/mnt/L2_CONTAINER_SHARED_VOLUME ghcr.io/rdkcentral/docker-device-mgt-service-test/native-platform:latest | |
| - name: Build RFC and Run L2 inside Native Platform Container | |
| run: | | |
| docker exec -i native-platform /bin/bash -c "cd /mnt/L2_CONTAINER_SHARED_VOLUME/ && sh ./cov_build.sh && export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu:/lib/aarch64-linux-gnu:/usr/local/lib && sh run_l2.sh" | |
| - name: Copy unknown-accountid-xconf-rfc-response json to mockxconf service | |
| run: | | |
| docker cp ${{ github.workspace }}/test/test-artifacts/mockxconf/xconf-rfc-response-unknown-accountid.json mockxconf:/etc/xconf/xconf-rfc-response.json | |
| - name: Run Unknown Account id L2 inside Native Platform Container | |
| run: | | |
| docker exec -i native-platform /bin/bash -c "cd /mnt/L2_CONTAINER_SHARED_VOLUME/ && export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu:/lib/aarch64-linux-gnu:/usr/local/lib && sh run_l2_reboot_trigger.sh" | |
| - name: Copy L2 Test report to Host Runner | |
| run: | | |
| docker cp native-platform:/tmp/rfc_test_report /tmp/L2_TEST_RESULTS | |
| ls -lh /tmp/L2_TEST_RESULTS | |
| - name: Setup Docker Buildx | |
| uses: docker/setup-buildx-action@v1 | |
| with: | |
| install: true | |
| - name: Run RDK CI Container | |
| run: | | |
| docker run -d --name ci-container -e AUTOMATICS_UNAME=${{ secrets.AUTOMATICS_UNAME }} -e AUTOMATICS_PASSCODE=${{ secrets.AUTOMATICS_PASSCODE }} -v /tmp/L2_TEST_RESULTS:/tmp/L2_TEST_RESULTS ghcr.io/rdkcentral/docker-rdk-ci:latest tail -f /dev/null | |
| - name: Upload Results to Automatics | |
| if: github.repository_owner == 'rdkcentral' | |
| run: | | |
| docker cp /tmp/L2_TEST_RESULTS ci-container:/tmp/L2_TEST_RESULTS | |
| docker exec -i ci-container bash -c "echo 'Contents in workspace directory' && ls -l && echo '===============================' && echo 'Contents in /tmp/L2_TEST_RESULTS' && ls -l /tmp/L2_TEST_RESULTS && echo '===============================' && git config --global --add safe.directory /mnt/L2_CONTAINER_SHARED_VOLUME && gtest-json-result-push.py /tmp/L2_TEST_RESULTS https://rdkeorchestrationservice.apps.cloud.comcast.net/rdke_orchestration_api/push_unit_test_results /mnt/L2_CONTAINER_SHARED_VOLUME" | |