Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
154 changes: 77 additions & 77 deletions .github/workflows/base_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Base Build

on:
push:
branches: [ "main" ]
branches: ["main"]
pull_request:
branches: [ "main" ]
branches: ["main"]
workflow_dispatch:

env:
Expand All @@ -27,80 +27,80 @@ concurrency:

jobs:
build-baremetal-ubuntu:
runs-on: 'ubuntu-22.04'
runs-on: "ubuntu-22.04"
timeout-minutes: 120
steps:
- name: 'Harden Runner'
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
with:
egress-policy: audit

- name: 'Checkout repository'
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: 'Install OS level dependencies'
run: eval 'source scripts/setup_build_env.sh && install_package_dependencies'

- name: 'Check local dependencies build cache'
id: load-local-dependencies-cache
uses: actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ${{ env.BUILD_DIR }}
key: ${{ runner.os }}-${{ hashFiles('versions.env') }}-${{ hashFiles('scripts/setup*.sh') }}

- name: 'Download, unpack and patch build dependencies'
if: steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
run: eval 'source scripts/setup_build_env.sh && get_download_unpack_dependencies'

- name: 'Clone and patch ffmpeg 6.1 and 7.0'
if: steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
run: |
ffmpeg-plugin/clone-and-patch-ffmpeg.sh "6.1"
ffmpeg-plugin/clone-and-patch-ffmpeg.sh "7.0"

- name: 'Build and Install xdp and libbpf'
run: eval 'source scripts/setup_build_env.sh && lib_install_xdp_bpf_tools'

- name: 'Build and Install libfabric'
run: eval 'source scripts/setup_build_env.sh && lib_install_fabrics'

- name: 'Build and Install the DPDK'
run: eval 'source scripts/setup_build_env.sh && lib_install_dpdk'

- name: 'Build and Install the MTL'
run: eval 'source scripts/setup_build_env.sh && lib_install_mtl'

- name: 'Build and Install JPEG XS'
run: eval 'source scripts/setup_build_env.sh && lib_install_jpeg_xs'

- name: 'Build and Install JPEG XS ffmpeg plugin'
run: eval 'source scripts/setup_build_env.sh && lib_install_mtl_jpeg_xs_plugin'

- name: 'Build gRPC and dependencies'
run: eval 'source scripts/setup_build_env.sh && lib_install_grpc'

- name: 'Build MCM SDK and Media Proxy'
run: eval 'source scripts/common.sh && ./build.sh "${PREFIX_DIR}"'

- name: 'Build FFmpeg 6.1 with MCM plugin'
working-directory: ${{ github.workspace }}/ffmpeg-plugin
run: |
./configure-ffmpeg.sh "6.1" --disable-doc --disable-debug && \
./build-ffmpeg.sh "6.1"

- name: 'Build FFmpeg 7.0 with MCM plugin'
working-directory: ${{ github.workspace }}/ffmpeg-plugin
run: |
./configure-ffmpeg.sh "7.0" --disable-doc --disable-debug && \
./build-ffmpeg.sh "7.0"

- name: 'upload media-proxy and mcm binaries'
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: mcm-build
path: |
${{ env.BUILD_DIR }}/mcm/bin/media_proxy
${{ env.BUILD_DIR }}/mcm/bin/mesh-agent
${{ env.BUILD_DIR }}/mcm/lib/libmcm_dp.so.*
${{ env.BUILD_DIR }}/ffmpeg-6-1/ffmpeg
${{ env.BUILD_DIR }}/ffmpeg-7-0/ffmpeg
- name: "Harden Runner"
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
with:
egress-policy: audit

- name: "Checkout repository"
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: "Install OS level dependencies"
run: eval 'source scripts/setup_build_env.sh && install_package_dependencies'

- name: "Check local dependencies build cache"
id: load-local-dependencies-cache
uses: actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ${{ env.BUILD_DIR }}
key: ${{ runner.os }}-${{ hashFiles('versions.env') }}-${{ hashFiles('scripts/setup*.sh') }}

- name: "Download, unpack and patch build dependencies"
if: steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
run: eval 'source scripts/setup_build_env.sh && get_download_unpack_dependencies'

- name: "Clone and patch ffmpeg 6.1 and 7.0"
if: steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
run: |
ffmpeg-plugin/clone-and-patch-ffmpeg.sh "6.1"
ffmpeg-plugin/clone-and-patch-ffmpeg.sh "7.0"

- name: "Build and Install xdp and libbpf"
run: eval 'source scripts/setup_build_env.sh && lib_install_xdp_bpf_tools'

- name: "Build and Install libfabric"
run: eval 'source scripts/setup_build_env.sh && lib_install_fabrics'

- name: "Build and Install the DPDK"
run: eval 'source scripts/setup_build_env.sh && lib_install_dpdk'

- name: "Build and Install the MTL"
run: eval 'source scripts/setup_build_env.sh && lib_install_mtl'

- name: "Build and Install JPEG XS"
run: eval 'source scripts/setup_build_env.sh && lib_install_jpeg_xs'

- name: "Build and Install JPEG XS ffmpeg plugin"
run: eval 'source scripts/setup_build_env.sh && lib_install_mtl_jpeg_xs_plugin'

- name: "Build gRPC and dependencies"
run: eval 'source scripts/setup_build_env.sh && lib_install_grpc'

- name: "Build MCM SDK and Media Proxy"
run: eval 'source scripts/common.sh && ./build.sh "${PREFIX_DIR}"'

- name: "Build FFmpeg 6.1 with MCM plugin"
working-directory: ${{ github.workspace }}/ffmpeg-plugin
run: |
./configure-ffmpeg.sh "6.1" --disable-doc --disable-debug && \
./build-ffmpeg.sh "6.1"

- name: "Build FFmpeg 7.0 with MCM plugin"
working-directory: ${{ github.workspace }}/ffmpeg-plugin
run: |
./configure-ffmpeg.sh "7.0" --disable-doc --disable-debug && \
./build-ffmpeg.sh "7.0"

- name: "upload media-proxy and mcm binaries"
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: mcm-build
path: |
${{ env.BUILD_DIR }}/mcm/bin/media_proxy
${{ env.BUILD_DIR }}/mcm/bin/mesh-agent
${{ env.BUILD_DIR }}/mcm/lib/libmcm_dp.so.*
${{ env.BUILD_DIR }}/ffmpeg-6-1/ffmpeg
${{ env.BUILD_DIR }}/ffmpeg-7-0/ffmpeg
12 changes: 6 additions & 6 deletions .github/workflows/build_docker_tpl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ on:
build_type:
required: false
type: string
default: 'Release'
default: "Release"
docker_registry:
required: false
type: string
default: 'ghcr.io'
default: "ghcr.io"
docker_registry_prefix:
required: false
type: string
default: 'openvisualcloud/media-communications-mesh'
default: "openvisualcloud/media-communications-mesh"
docker_registry_login:
required: false
type: boolean
Expand All @@ -26,11 +26,11 @@ on:
docker_build_args:
required: false
type: string
default: ''
default: ""
docker_build_platforms:
required: false
type: string
default: 'linux/amd64'
default: "linux/amd64"
docker_image_tag:
required: false
type: string
Expand All @@ -40,7 +40,7 @@ on:
docker_file_path:
required: false
type: string
default: './Dockerfile'
default: "./Dockerfile"
secrets:
docker_registry_login:
required: false
Expand Down
158 changes: 79 additions & 79 deletions .github/workflows/coverity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ name: Coverity Build

on:
schedule:
- cron: '0 18 * * *'
- cron: "0 18 * * *"
workflow_dispatch:
inputs:
branch:
description: 'Branch to run scans on'
default: 'main'
description: "Branch to run scans on"
default: "main"
type: string

env:
Expand All @@ -26,81 +26,81 @@ concurrency:

jobs:
coverity:
runs-on: 'ubuntu-22.04'
runs-on: "ubuntu-22.04"
timeout-minutes: 90
steps:
- name: 'Harden Runner'
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
with:
egress-policy: audit

- name: 'Checkout repository'
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ inputs.branch }}

- name: 'Install OS level dependencies'
run: eval 'source scripts/setup_build_env.sh && install_package_dependencies'

- name: 'Check local dependencies build cache'
id: load-local-dependencies-cache
uses: actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ${{ env.BUILD_DIR }}
key: ${{ runner.os }}-${{ hashFiles('versions.env') }}-${{ hashFiles('scripts/setup*.sh') }}

- name: 'Download, unpack and patch build dependencies'
if: steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
run: eval 'source scripts/setup_build_env.sh && get_download_unpack_dependencies'

- name: 'Clone and patch ffmpeg 6.1 and 7.0'
if: steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
run: |
ffmpeg-plugin/clone-and-patch-ffmpeg.sh "6.1"
ffmpeg-plugin/clone-and-patch-ffmpeg.sh "7.0"

- name: 'Build and Install xdp and libbpf'
run: eval 'source scripts/setup_build_env.sh && lib_install_xdp_bpf_tools'

- name: 'Build and Install libfabric'
run: eval 'source scripts/setup_build_env.sh && lib_install_fabrics'

- name: 'Build and Install the DPDK'
run: eval 'source scripts/setup_build_env.sh && lib_install_dpdk'

- name: 'Build and Install the MTL'
run: eval 'source scripts/setup_build_env.sh && lib_install_mtl'

- name: 'Build and Install JPEG XS'
run: eval 'source scripts/setup_build_env.sh && lib_install_jpeg_xs'

- name: 'Build and Install JPEG XS ffmpeg plugin'
run: eval 'source scripts/setup_build_env.sh && lib_install_mtl_jpeg_xs_plugin'

- name: 'Build gRPC and dependencies'
run: eval 'source scripts/setup_build_env.sh && lib_install_grpc'

- name: 'Configure ffmpeg and dependencies'
run: |
sed -i 's/strlen (MEMIF_DEFAULT_APP_NAME)/(sizeof(MEMIF_DEFAULT_APP_NAME) - 1)/g' ${{ github.workspace }}/sdk/3rdparty/libmemif/src/memif_private.h && \
${{ github.workspace }}/build.sh && \
${{ github.workspace }}/ffmpeg-plugin/configure-ffmpeg.sh "6.1" --disable-doc --disable-debug && \
${{ github.workspace }}/ffmpeg-plugin/configure-ffmpeg.sh "7.0" --disable-doc --disable-debug && \
rm -rf ${{ github.workspace }}/_build/mcm
echo "\"${{ github.workspace }}/ffmpeg-plugin/build-ffmpeg.sh\" \"6.1\"" > ${{ github.workspace }}/build.sh
echo "\"${{ github.workspace }}/ffmpeg-plugin/build-ffmpeg.sh\" \"7.0\"" > ${{ github.workspace }}/build.sh

- name: 'Run coverity'
uses: vapier/coverity-scan-action@2068473c7bdf8c2fb984a6a40ae76ee7facd7a85 # v1.8.0
with:
project: 'Media-Communications-Mesh'
email: ${{ secrets.COVERITY_SCAN_EMAIL }}
token: ${{ secrets.COVERITY_SCAN_TOKEN }}
build_language: 'cxx'
build_platform: 'linux64'
command: ${{ github.workspace }}/build.sh

- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: coverity-reports
path: '${{ github.workspace }}/cov-int'
- name: "Harden Runner"
uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
with:
egress-policy: audit

- name: "Checkout repository"
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ref: ${{ inputs.branch }}

- name: "Install OS level dependencies"
run: eval 'source scripts/setup_build_env.sh && install_package_dependencies'

- name: "Check local dependencies build cache"
id: load-local-dependencies-cache
uses: actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ${{ env.BUILD_DIR }}
key: ${{ runner.os }}-${{ hashFiles('versions.env') }}-${{ hashFiles('scripts/setup*.sh') }}

- name: "Download, unpack and patch build dependencies"
if: steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
run: eval 'source scripts/setup_build_env.sh && get_download_unpack_dependencies'

- name: "Clone and patch ffmpeg 6.1 and 7.0"
if: steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
run: |
ffmpeg-plugin/clone-and-patch-ffmpeg.sh "6.1"
ffmpeg-plugin/clone-and-patch-ffmpeg.sh "7.0"

- name: "Build and Install xdp and libbpf"
run: eval 'source scripts/setup_build_env.sh && lib_install_xdp_bpf_tools'

- name: "Build and Install libfabric"
run: eval 'source scripts/setup_build_env.sh && lib_install_fabrics'

- name: "Build and Install the DPDK"
run: eval 'source scripts/setup_build_env.sh && lib_install_dpdk'

- name: "Build and Install the MTL"
run: eval 'source scripts/setup_build_env.sh && lib_install_mtl'

- name: "Build and Install JPEG XS"
run: eval 'source scripts/setup_build_env.sh && lib_install_jpeg_xs'

- name: "Build and Install JPEG XS ffmpeg plugin"
run: eval 'source scripts/setup_build_env.sh && lib_install_mtl_jpeg_xs_plugin'

- name: "Build gRPC and dependencies"
run: eval 'source scripts/setup_build_env.sh && lib_install_grpc'

- name: "Configure ffmpeg and dependencies"
run: |
sed -i 's/strlen (MEMIF_DEFAULT_APP_NAME)/(sizeof(MEMIF_DEFAULT_APP_NAME) - 1)/g' ${{ github.workspace }}/sdk/3rdparty/libmemif/src/memif_private.h && \
${{ github.workspace }}/build.sh && \
${{ github.workspace }}/ffmpeg-plugin/configure-ffmpeg.sh "6.1" --disable-doc --disable-debug && \
${{ github.workspace }}/ffmpeg-plugin/configure-ffmpeg.sh "7.0" --disable-doc --disable-debug && \
rm -rf ${{ github.workspace }}/_build/mcm
echo "\"${{ github.workspace }}/ffmpeg-plugin/build-ffmpeg.sh\" \"6.1\"" > ${{ github.workspace }}/build.sh
echo "\"${{ github.workspace }}/ffmpeg-plugin/build-ffmpeg.sh\" \"7.0\"" > ${{ github.workspace }}/build.sh

- name: "Run coverity"
uses: vapier/coverity-scan-action@2068473c7bdf8c2fb984a6a40ae76ee7facd7a85 # v1.8.0
with:
project: "Media-Communications-Mesh"
email: ${{ secrets.COVERITY_SCAN_EMAIL }}
token: ${{ secrets.COVERITY_SCAN_TOKEN }}
build_language: "cxx"
build_platform: "linux64"
command: ${{ github.workspace }}/build.sh

- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: coverity-reports
path: "${{ github.workspace }}/cov-int"
Loading
Loading