move CI workflow to a matrix to prepare for other OS builds

This commit is contained in:
Mary 2022-12-08 19:02:28 +01:00
parent a620bd806c
commit 6fd20748ed

View file

@ -5,10 +5,19 @@ on:
rev: rev:
description: 'FFmpeg/FFmpeg commit to build' description: 'FFmpeg/FFmpeg commit to build'
required: true required: true
env:
DECODERS: "h264,vp8"
jobs: jobs:
build: build:
runs-on: ubuntu-latest name: ${{ matrix.platform.name }}
runs-on: ${{ matrix.platform.os }}
strategy:
fail-fast: false
matrix:
platform:
- { name: win-x64, os: ubuntu-20.04, flags: "--arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- --disable-w32threads --extra-ldflags=\"-static-libgcc -static-libstdc++ -static -s\"" }
steps: steps:
- name: Setup Linux dependencies - name: Setup Linux dependencies
if: runner.os == 'Linux' if: runner.os == 'Linux'
@ -29,13 +38,28 @@ jobs:
ref: ${{ github.event.inputs.rev }} ref: ${{ github.event.inputs.rev }}
- name: Configure FFmpeg build - name: Configure FFmpeg build
run: | run: |
./configure --disable-everything --enable-avcodec --enable-shared --disable-static --enable-decoder="h264,vp8" --disable-w32threads --arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- --disable-debug --enable-lto --disable-doc --disable-programs --disable-swscale --disable-avformat --disable-swresample --disable-avdevice --disable-avfilter --extra-ldflags="-static-libgcc -static-libstdc++ -static -s" --prefix=release_output ./configure --disable-everything \
--disable-static \
--disable-doc \
--disable-programs \
--disable-swscale \
--disable-avformat \
--disable-swresample \
--disable-avdevice \
--disable-avfilter \
--disable-debug \
--enable-avcodec \
--enable-shared \
--enable-decoder=${{ env.DECODERS }} \
--enable-lto \
${{ matrix.platform.flags }} \
--prefix=release_output
- name: "Build FFmpeg" - name: "Build FFmpeg"
run: | run: |
make -j4 && make install make -j4 && make install
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: natives name: ${{ matrix.platform.name }}-binaries
path: | path: |
release_output/* release_output/*