Skip to content

feat: FFmpeg n8.1.2 as C++ modules — full-feature source build via mcpp (v0.0.1) #4

feat: FFmpeg n8.1.2 as C++ modules — full-feature source build via mcpp (v0.0.1)

feat: FFmpeg n8.1.2 as C++ modules — full-feature source build via mcpp (v0.0.1) #4

Workflow file for this run

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
linux:
name: mcpp (ubuntu-latest, required)
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
# mcpp resolves nasm PATH-first; ubuntu-24.04 ships nasm >= 2.16.
- name: Install nasm
run: sudo apt-get update && sudo apt-get install -y nasm && nasm --version
- name: Install Xlings
env:
XLINGS_NON_INTERACTIVE: 1
run: |
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/refs/heads/main/tools/other/quick_install.sh | bash
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
- name: Install project tools
run: |
xlings update
xlings install
# Same transition step as imgui-m: pin the glibc gcc toolchain explicitly
# until mcpp's bootstrap default settles.
- name: Set default toolchain
run: |
mcpp toolchain install gcc 16.1.0
mcpp toolchain default gcc@16.1.0
mcpp --version
- name: Build library (via compat.ffmpeg source build)
run: mcpp build
- name: Run tests (API surface + encode/decode roundtrip)
run: mcpp test
- name: Run probe example (path-dep consumer)
run: |
cd examples/probe
mcpp run
- name: Build decode_frames example
run: |
cd examples/decode_frames
mcpp build