test.yml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. on:
  2. push:
  3. branches:
  4. - master
  5. pull_request:
  6. jobs:
  7. run_fate:
  8. strategy:
  9. fail-fast: false
  10. matrix:
  11. runner: [linux-amd64,linux-aarch64]
  12. runs-on: ${{ matrix.runner }}
  13. steps:
  14. - name: Checkout
  15. uses: actions/checkout@v4
  16. - name: Configure
  17. run: ./configure --enable-gpl --enable-nonfree --enable-memory-poisoning
  18. - name: Build
  19. run: make -j$(nproc)
  20. - name: Restore Cached Fate-Suite
  21. id: cache
  22. uses: actions/cache/restore@v4
  23. with:
  24. path: fate-suite
  25. key: fate-suite
  26. restore-keys: |
  27. fate-suite-
  28. - name: Sync Fate-Suite
  29. id: fate
  30. run: |
  31. make fate-rsync SAMPLES=$PWD/fate-suite
  32. echo "hash=$(find fate-suite -type f | sha256sum | cut -d' ' -f1)" >> $FORGEJO_OUTPUT
  33. - name: Cache Fate-Suite
  34. uses: actions/cache/save@v4
  35. if: ${{ format('fate-suite-{0}', steps.fate.outputs.hash) != steps.cache.outputs.cache-matched-key }}
  36. with:
  37. path: fate-suite
  38. key: fate-suite-${{ steps.fate.outputs.hash }}
  39. - name: Run Fate
  40. run: make fate SAMPLES=$PWD/fate-suite -j$(nproc)
  41. compile_only:
  42. strategy:
  43. fail-fast: false
  44. matrix:
  45. image: ["ghcr.io/btbn/ffmpeg-builds/win64-gpl:latest"]
  46. runs-on: linux-amd64
  47. container: ${{ matrix.image }}
  48. steps:
  49. - name: Checkout
  50. uses: actions/checkout@v4
  51. - name: Configure
  52. run: |
  53. ./configure --pkg-config-flags="--static" $FFBUILD_TARGET_FLAGS $FF_CONFIGURE \
  54. --cc="$CC" --cxx="$CXX" --ar="$AR" --ranlib="$RANLIB" --nm="$NM" \
  55. --extra-cflags="$FF_CFLAGS" --extra-cxxflags="$FF_CXXFLAGS" \
  56. --extra-libs="$FF_LIBS" --extra-ldflags="$FF_LDFLAGS" --extra-ldexeflags="$FF_LDEXEFLAGS"
  57. - name: Build
  58. run: make -j$(nproc)