Add MTL as sub-module and order documenatation #1157
Workflow file for this run
This file contains 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: 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 }} |