mirror of
https://mirror.skon.top/https://github.com/FFmpeg/FFmpeg
synced 2026-04-20 21:00:41 +08:00
Should detect breakages like the one caused by commitd8ffec5bf9(fixed in1d47ae65bf). Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
119 lines
4.3 KiB
YAML
119 lines
4.3 KiB
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
|
|
concurrency:
|
|
cancel-in-progress: ${{ forge.event_name == 'pull_request' }}
|
|
|
|
jobs:
|
|
run_fate:
|
|
name: Fate (${{ matrix.runner }}, ${{ matrix.shared }}, ${{ matrix.bits }} bit)
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
runner: [linux-aarch64]
|
|
shared: ['static']
|
|
bits: ['64']
|
|
include:
|
|
- runner: linux-amd64
|
|
shared: 'static'
|
|
bits: '32'
|
|
- runner: linux-amd64
|
|
shared: 'shared'
|
|
bits: '64'
|
|
runs-on: ${{ matrix.runner }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
- name: Configure
|
|
run: |
|
|
./configure --enable-gpl --enable-nonfree --enable-memory-poisoning --assert-level=2 \
|
|
$([ "${{ matrix.bits }}" != "32" ] || echo --arch=x86_32 --extra-cflags=-m32 --extra-cxxflags=-m32 --extra-ldflags=-m32) \
|
|
$([ "${{ matrix.shared }}" != "shared" ] || echo --enable-shared --disable-static) \
|
|
|| CFGRES=$?
|
|
cat ffbuild/config.log
|
|
exit ${CFGRES:-0}
|
|
- name: Build
|
|
run: make -j$(nproc)
|
|
- name: Restore Cached Fate-Suite
|
|
id: cache
|
|
uses: actions/cache/restore@v5
|
|
with:
|
|
path: fate-suite
|
|
key: fate-suite
|
|
restore-keys: |
|
|
fate-suite-
|
|
- name: Sync Fate-Suite
|
|
id: fate
|
|
run: |
|
|
make fate-rsync SAMPLES=$PWD/fate-suite
|
|
echo "hash=$(find fate-suite -type f -printf "%P %s %T@\n" | sort | sha256sum | cut -d' ' -f1)" >> $FORGEJO_OUTPUT
|
|
- name: Cache Fate-Suite
|
|
uses: actions/cache/save@v5
|
|
if: ${{ format('fate-suite-{0}', steps.fate.outputs.hash) != steps.cache.outputs.cache-matched-key }}
|
|
with:
|
|
path: fate-suite
|
|
key: fate-suite-${{ steps.fate.outputs.hash }}
|
|
- name: Run Fate
|
|
run: |
|
|
LD_LIBRARY_PATH="$(printf "%s:" "$PWD"/lib*)$PWD" make fate fate-build SAMPLES="$PWD/fate-suite" -j$(nproc) || FATERES=$?
|
|
find . -name "*.err" -exec printf '::group::%s\n' {} \; -exec cat {} \; -exec printf '::endgroup::\n' \;
|
|
exit ${FATERES:-0}
|
|
run_fate_full:
|
|
name: Fate (Full, ${{ matrix.target_exec }})
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
image: ['ghcr.io/btbn/ffmpeg-builds/win64-gpl:latest']
|
|
target_exec: ['wine']
|
|
runs-on: linux-amd64
|
|
container: ${{ matrix.image }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
- name: Configure
|
|
run: |
|
|
./configure --pkg-config-flags="--static" $FFBUILD_TARGET_FLAGS $FF_CONFIGURE \
|
|
--cc="$CC" --cxx="$CXX" --ar="$AR" --ranlib="$RANLIB" --nm="$NM" \
|
|
--extra-cflags="$FF_CFLAGS" --extra-cxxflags="$FF_CXXFLAGS" \
|
|
--extra-libs="$FF_LIBS" --extra-ldflags="$FF_LDFLAGS" --extra-ldexeflags="$FF_LDEXEFLAGS" \
|
|
--enable-memory-poisoning --assert-level=2 --target-exec="${{ matrix.target_exec }}" \
|
|
--enable-hardcoded-tables \
|
|
|| CFGRES=$?
|
|
cat ffbuild/config.log
|
|
exit ${CFGRES:-0}
|
|
- name: Build
|
|
run: make -j$(nproc)
|
|
- name: Restore Cached Fate-Suite
|
|
id: cache
|
|
uses: actions/cache/restore@v5
|
|
with:
|
|
path: fate-suite
|
|
key: fate-suite
|
|
restore-keys: |
|
|
fate-suite-
|
|
- name: Sync Fate-Suite
|
|
id: fate
|
|
run: |
|
|
make fate-rsync SAMPLES=$PWD/fate-suite
|
|
echo "hash=$(find fate-suite -type f -printf "%P %s %T@\n" | sort | sha256sum | cut -d' ' -f1)" >> $FORGEJO_OUTPUT
|
|
- name: Cache Fate-Suite
|
|
uses: actions/cache/save@v5
|
|
if: ${{ format('fate-suite-{0}', steps.fate.outputs.hash) != steps.cache.outputs.cache-matched-key }}
|
|
with:
|
|
path: fate-suite
|
|
key: fate-suite-${{ steps.fate.outputs.hash }}
|
|
- name: Run Fate
|
|
run: |
|
|
if [[ "${{ matrix.target_exec }}" == "wine" ]]; then
|
|
export WINEDEBUG=-all
|
|
export FREI0R_PATH="$(winepath -w "$FREI0R_PATH")"
|
|
fi
|
|
LD_LIBRARY_PATH="$(printf "%s:" "$PWD"/lib*)$PWD" make fate fate-build SAMPLES="$PWD/fate-suite" -j$(nproc) || FATERES=$?
|
|
find . -name "*.err" -exec printf '::group::%s\n' {} \; -exec cat {} \; -exec printf '::endgroup::\n' \;
|
|
exit ${FATERES:-0}
|