Skip to content

Add initial implementation of Mesh Agent and Multipoint Groups #1146

Add initial implementation of Mesh Agent and Multipoint Groups

Add initial implementation of Mesh Agent and Multipoint Groups #1146

Workflow file for this run

name: build-baremetal-ubuntu
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
env:
BUILD_TYPE: Release
BUILD_DIR: "${{ github.workspace }}/_build"
DEBIAN_FRONTEND: noninteractive
MTL_BUILD_DISABLE_PCAPNG: true
PREFIX_DIR: "${{ github.workspace }}/_install"
defaults:
run:
shell: bash
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
build-baremetal-ubuntu:
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@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
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" && \
./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" && \
./build-ffmpeg.sh "7.0"
- name: 'Scanner: Send to VirusTotal for analysis'
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: vt
uses: cssnr/virustotal-action@331c320c79202fdaa7a30f16163390f8d09c3f45 # v1.2.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
vt_api_key: ${{ secrets.VT_API_KEY }}
file_globs: |
_build/mcm/lib/*.so*
_build/mcm/bin/*
_install/usr/local/sbin/*
_build/ffmpeg-6-1/ffmpeg
_build/ffmpeg-7-0/ffmpeg
- name: 'Scanner: Print scan results'
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: vt-out
run: echo ${{ steps.vt.outputs.results }}