Skip to content

Feature/rdk 60640

Feature/rdk 60640 #362

Workflow file for this run

name: Verify building of test containers
on:
pull_request:
branches: [ "develop" , "topic/RDKE-765" ]
env:
REGISTRY_ROOT: ghcr.io
jobs:
build-only:
runs-on: ubuntu-latest
services:
registry:
image: registry:2
ports:
- 5000:5000
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
driver-opts: network=host
- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout docker config repository
uses: actions/checkout@v4
with:
path: 'device-management-service'
- name: Checkout dependent rdkcentral/rdk_logger repository
uses: actions/checkout@v4
with:
repository: 'rdkcentral/rdk_logger'
ref: 'IMPORT_INITIAL_develop'
path: 'device-management-service/native-platform/rdk_logger'
- name: Check out the dependent rdkcentral/webconfigframework repository
uses: actions/checkout@v4
with:
repository: 'rdkcentral/WebconfigFramework'
ref: 'IMPORT_INITIAL_develop'
path: 'device-management-service/native-platform/WebconfigFramework'
- name: Check out the dependent rdkcentral/libSyscallWrapper repository
uses: actions/checkout@v4
with:
repository: 'rdkcentral/libSyscallWrapper'
ref: 'IMPORT_INITIAL_develop'
path: 'device-management-service/native-platform/libSyscallWrapper'
- name: Check out the dependent rdkcentral/common_utilities repository
uses: actions/checkout@v4
with:
repository: 'rdkcentral/common_utilities'
ref: '1.4.4'
path: 'device-management-service/native-platform/common_utilities'
- name: Check out the dependent rdkcentral/tr69hostif repository
uses: actions/checkout@v4
with:
repository: 'rdkcentral/tr69hostif'
ref: '1.2.3'
path: 'device-management-service/native-platform/tr69hostif'
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.9'
- name: Install dependencies
run: pip install pytest docker testcontainers
- name: Build mock xconf image
uses: docker/build-push-action@v4
with:
platforms: linux/amd64
context: device-management-service/mock-xconf
push: true
tags: localhost:5000/mockxconf:latest
load: false
- name: Test for successful generation of server certs from mock-xconf container and decode it
run: |
docker run --rm localhost:5000/mockxconf:latest sh -c "/usr/local/bin/certs.sh && openssl x509 -text -noout -in /etc/xconf/certs/mock-xconf-server-cert.pem"
- name: Build native-platform image
uses: docker/build-push-action@v4
with:
context: device-management-service/native-platform
platforms: linux/amd64
build-args: |
- REVISION=${{ github.ref_name }}
push: true
tags: localhost:5000/native-platform:latest
load: false
- name: Prepare expected directory for mount in docker-compose
run: |
mkdir -p /tmp/L2_CONTAINER_SHARED_VOLUME
- name: Start mock-xconf service
run: |
docker run -d --name mockxconf -p 50050:50050 -p 50051:50051 -p 50052:50052 -p 50053:50053 -p 50054:50054 -p 50056:50056 -p 50057:50057 -p 50058:50058 -v ${{ github.workspace }}:/mnt/L2_CONTAINER_SHARED_VOLUME localhost:5000/mockxconf:latest
- name: Start native-platform service
run: |
docker run -d --name native-platform -p 9090:9090 --link mockxconf -v ${{ github.workspace }}:/mnt/L2_CONTAINER_SHARED_VOLUME localhost:5000/native-platform:latest
- name: Start Testing
run: |
docker ps && docker ps -a
ls -l
ls -l ./device-management-service && pytest device-management-service/test_docker.py -v