mirror of https://github.com/mstorsjo/fdk-aac.git
Add Github Actions CI build testing
This commit is contained in:
parent
aad97f4ec2
commit
072f2cdafd
|
@ -0,0 +1,174 @@
|
|||
name: CI
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
linux-autotools:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: |
|
||||
./autogen.sh
|
||||
./configure --enable-example
|
||||
make -j$(nproc) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
||||
|
||||
linux-cmake:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: |
|
||||
cmake . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror"
|
||||
cmake --build build
|
||||
|
||||
macos-autotools:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Install autotools
|
||||
run: |
|
||||
brew install automake
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: |
|
||||
./autogen.sh
|
||||
./configure --enable-example
|
||||
make -j$(nproc) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
||||
|
||||
macos-cmake:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: |
|
||||
cmake . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror"
|
||||
cmake --build build
|
||||
|
||||
mingw-cross-autotools:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install cross compiler
|
||||
run: |
|
||||
sudo apt-get install g++-mingw-w64-x86-64
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: |
|
||||
./autogen.sh
|
||||
./configure --enable-example --host=x86_64-w64-mingw32
|
||||
make -j$(nproc) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
||||
|
||||
mingw-cross-cmake:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install cross compiler
|
||||
run: |
|
||||
sudo apt-get install g++-mingw-w64-x86-64
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: |
|
||||
cmake . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DCMAKE_CROSSCOMPILING=TRUE -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_FLAGS="-Werror" -DCMAKE_CXX_FLAGS="-Werror"
|
||||
cmake --build build
|
||||
|
||||
msys-cmake:
|
||||
runs-on: windows-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: mingw64
|
||||
update: true
|
||||
install: >-
|
||||
git
|
||||
mingw-w64-x86_64-toolchain
|
||||
mingw-w64-x86_64-cmake
|
||||
mingw-w64-x86_64-ninja
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: |
|
||||
cmake . -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES
|
||||
cmake --build build
|
||||
|
||||
msvc-cmake:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: |
|
||||
cmake . -B build -DBUILD_PROGRAMS=YES
|
||||
cmake --build build --config Release
|
||||
|
||||
msvc-cmake-ninja-arm:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Set up the environment
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: amd64_arm
|
||||
- name: Build
|
||||
run: |
|
||||
cmake . -G Ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_PROGRAMS=YES
|
||||
cmake --build build
|
||||
|
||||
msvc-cmake-arm64:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build
|
||||
run: |
|
||||
cmake . -B build -DBUILD_PROGRAMS=YES -A ARM64
|
||||
cmake --build build --config Release
|
||||
|
||||
llvm-mingw:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install llvm-mingw
|
||||
run: |
|
||||
wget https://github.com/mstorsjo/llvm-mingw/releases/download/20211002/llvm-mingw-20211002-ucrt-ubuntu-18.04-x86_64.tar.xz
|
||||
tar -Jxvf llvm-mingw-20211002-ucrt-ubuntu-18.04-x86_64.tar.xz
|
||||
rm llvm-mingw-*.tar.xz
|
||||
sudo mv llvm-mingw-* /opt/llvm-mingw
|
||||
echo /opt/llvm-mingw/bin >> $GITHUB_PATH
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build fdk-aac
|
||||
run: |
|
||||
./autogen.sh
|
||||
./configure --host=aarch64-w64-mingw32 --enable-example
|
||||
make -j$(nproc) CFLAGS="-g -O2 -Werror" CXXFLAGS="-g -O2 -Werror"
|
||||
|
||||
linux-ffmpeg:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v2
|
||||
- name: Build fdk-aac
|
||||
run: |
|
||||
./autogen.sh
|
||||
mkdir build
|
||||
cd build
|
||||
../configure --enable-example --prefix=$(pwd)/../prefix
|
||||
make -j$(nproc)
|
||||
make -j$(nproc) install
|
||||
- name: Checkout FFmpeg
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: ffmpeg/ffmpeg
|
||||
path: ffmpeg
|
||||
- name: Build FFmpeg
|
||||
run: |
|
||||
sudo apt-get install -y nasm
|
||||
cd ffmpeg
|
||||
PKG_CONFIG_PATH=$(pwd)/../prefix/lib/pkgconfig ./configure --enable-libfdk-aac --enable-nonfree
|
||||
make -j$(nproc)
|
Loading…
Reference in New Issue