@@ -2,17 +2,17 @@ name: Base Build
22
33on :
44 push :
5- branches : [ "main" ]
5+ branches : ["main"]
66 pull_request :
7- branches : [ "main" ]
7+ branches : ["main"]
88 workflow_dispatch :
99 workflow_call :
1010 inputs :
1111 branch :
1212 required : false
1313 type : string
14- default : ' main'
15- description : ' Branch to checkout'
14+ default : " main"
15+ description : " Branch to checkout"
1616
1717env :
1818 BUILD_TYPE : Release
@@ -34,82 +34,82 @@ concurrency:
3434
3535jobs :
3636 build-baremetal-ubuntu :
37- runs-on : ' ubuntu-22.04'
37+ runs-on : " ubuntu-22.04"
3838 timeout-minutes : 120
3939 steps :
40- - name : ' Harden Runner'
41- uses : step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
42- with :
43- egress-policy : audit
44-
45- - name : ' Checkout repository'
46- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
47- with :
48- ref : ${{ inputs.branch }}
49-
50- - name : ' Install OS level dependencies'
51- run : eval 'source scripts/setup_build_env.sh && install_package_dependencies'
52-
53- - name : ' Check local dependencies build cache'
54- id : load-local-dependencies-cache
55- uses : actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
56- with :
57- path : ${{ env.BUILD_DIR }}
58- key : ${{ runner.os }}-${{ hashFiles('versions.env') }}-${{ hashFiles('scripts/setup*.sh') }}
59-
60- - name : ' Download, unpack and patch build dependencies'
61- if : steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
62- run : eval 'source scripts/setup_build_env.sh && get_download_unpack_dependencies'
63-
64- - name : ' Clone and patch ffmpeg 6.1 and 7.0'
65- if : steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
66- run : |
67- ffmpeg-plugin/clone-and-patch-ffmpeg.sh "6.1"
68- ffmpeg-plugin/clone-and-patch-ffmpeg.sh "7.0"
69-
70- - name : ' Build and Install xdp and libbpf'
71- run : eval 'source scripts/setup_build_env.sh && lib_install_xdp_bpf_tools'
72-
73- - name : ' Build and Install libfabric'
74- run : eval 'source scripts/setup_build_env.sh && lib_install_fabrics'
75-
76- - name : ' Build and Install the DPDK'
77- run : eval 'source scripts/setup_build_env.sh && lib_install_dpdk'
78-
79- - name : ' Build and Install the MTL'
80- run : eval 'source scripts/setup_build_env.sh && lib_install_mtl'
81-
82- - name : ' Build and Install JPEG XS'
83- run : eval 'source scripts/setup_build_env.sh && lib_install_jpeg_xs'
84-
85- - name : ' Build and Install JPEG XS ffmpeg plugin'
86- run : eval 'source scripts/setup_build_env.sh && lib_install_mtl_jpeg_xs_plugin'
87-
88- - name : ' Build gRPC and dependencies'
89- run : eval 'source scripts/setup_build_env.sh && lib_install_grpc'
90-
91- - name : ' Build MCM SDK and Media Proxy'
92- run : eval 'source scripts/common.sh && ./build.sh "${PREFIX_DIR}"'
93-
94- - name : ' Build FFmpeg 6.1 with MCM plugin'
95- working-directory : ${{ github.workspace }}/ffmpeg-plugin
96- run : |
97- ./configure-ffmpeg.sh "6.1" --disable-doc --disable-debug && \
98- ./build-ffmpeg.sh "6.1"
99-
100- - name : ' Build FFmpeg 7.0 with MCM plugin'
101- working-directory : ${{ github.workspace }}/ffmpeg-plugin
102- run : |
103- ./configure-ffmpeg.sh "7.0" --disable-doc --disable-debug && \
104- ./build-ffmpeg.sh "7.0"
105-
106- - name : ' upload media-proxy and mcm binaries'
107- uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
108- with :
109- name : mcm-build
110- path : |
111- ${{ env.BUILD_DIR }}/mcm/bin/media_proxy
112- ${{ env.BUILD_DIR }}/mcm/bin/mesh-agent
113- ${{ env.BUILD_DIR }}/mcm/lib/libmcm_dp.so.*
114- ${{ env.BUILD_DIR }}/ffmpeg-6-1/ffmpeg
115- ${{ env.BUILD_DIR }}/ffmpeg-7-0/ffmpeg
40+ - name : " Harden Runner"
41+ uses : step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
42+ with :
43+ egress-policy : audit
44+
45+ - name : " Checkout repository"
46+ uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
47+ with :
48+ ref : ${{ inputs.branch }}
49+
50+ - name : " Install OS level dependencies"
51+ run : eval 'source scripts/setup_build_env.sh && install_package_dependencies'
52+
53+ - name : " Check local dependencies build cache"
54+ id : load-local-dependencies-cache
55+ uses : actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
56+ with :
57+ path : ${{ env.BUILD_DIR }}
58+ key : ${{ runner.os }}-${{ hashFiles('versions.env') }}-${{ hashFiles('scripts/setup*.sh') }}
59+
60+ - name : " Download, unpack and patch build dependencies"
61+ if : steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
62+ run : eval 'source scripts/setup_build_env.sh && get_download_unpack_dependencies'
63+
64+ - name : " Clone and patch ffmpeg 6.1 and 7.0"
65+ if : steps.load-local-dependencies-cache.outputs.cache-hit != 'true'
66+ run : |
67+ ffmpeg-plugin/clone-and-patch-ffmpeg.sh "6.1"
68+ ffmpeg-plugin/clone-and-patch-ffmpeg.sh "7.0"
69+
70+ - name : " Build and Install xdp and libbpf"
71+ run : eval 'source scripts/setup_build_env.sh && lib_install_xdp_bpf_tools'
72+
73+ - name : " Build and Install libfabric"
74+ run : eval 'source scripts/setup_build_env.sh && lib_install_fabrics'
75+
76+ - name : " Build and Install the DPDK"
77+ run : eval 'source scripts/setup_build_env.sh && lib_install_dpdk'
78+
79+ - name : " Build and Install the MTL"
80+ run : eval 'source scripts/setup_build_env.sh && lib_install_mtl'
81+
82+ - name : " Build and Install JPEG XS"
83+ run : eval 'source scripts/setup_build_env.sh && lib_install_jpeg_xs'
84+
85+ - name : " Build and Install JPEG XS ffmpeg plugin"
86+ run : eval 'source scripts/setup_build_env.sh && lib_install_mtl_jpeg_xs_plugin'
87+
88+ - name : " Build gRPC and dependencies"
89+ run : eval 'source scripts/setup_build_env.sh && lib_install_grpc'
90+
91+ - name : " Build MCM SDK and Media Proxy"
92+ run : eval 'source scripts/common.sh && ./build.sh "${PREFIX_DIR}"'
93+
94+ - name : " Build FFmpeg 6.1 with MCM plugin"
95+ working-directory : ${{ github.workspace }}/ffmpeg-plugin
96+ run : |
97+ ./configure-ffmpeg.sh "6.1" --disable-doc --disable-debug && \
98+ ./build-ffmpeg.sh "6.1"
99+
100+ - name : " Build FFmpeg 7.0 with MCM plugin"
101+ working-directory : ${{ github.workspace }}/ffmpeg-plugin
102+ run : |
103+ ./configure-ffmpeg.sh "7.0" --disable-doc --disable-debug && \
104+ ./build-ffmpeg.sh "7.0"
105+
106+ - name : " upload media-proxy and mcm binaries"
107+ uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
108+ with :
109+ name : mcm-build
110+ path : |
111+ ${{ env.BUILD_DIR }}/mcm/bin/media_proxy
112+ ${{ env.BUILD_DIR }}/mcm/bin/mesh-agent
113+ ${{ env.BUILD_DIR }}/mcm/lib/libmcm_dp.so.*
114+ ${{ env.BUILD_DIR }}/ffmpeg-6-1/ffmpeg
115+ ${{ env.BUILD_DIR }}/ffmpeg-7-0/ffmpeg
0 commit comments