diff options
author | Sadaf Ebrahimi <sadafebrahimi@google.com> | 2024-03-12 17:24:49 +0000 |
---|---|---|
committer | Sadaf Ebrahimi <sadafebrahimi@google.com> | 2024-03-12 17:39:01 +0000 |
commit | 15c162f4666fec92509f7c8ea62308e2234a6067 (patch) | |
tree | 9f47d34cae17b90863bad0b94e6c9b3edd7b2b39 /.github/workflows/dred.yml | |
parent | e42fff9d341bc5cc34c7d9dfa1950fd97f7ff77b (diff) | |
parent | 23d4b31de15a723716f9fde5ec736773f2e1aa2e (diff) | |
download | libopus-15c162f4666fec92509f7c8ea62308e2234a6067.tar.gz |
Upgrade libopus to v1.5
This project was upgraded with external_updater.
Usage: tools/external_updater/updater.sh update external/libopus
For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md
Test: TreeHugger
Change-Id: I5e8ccb33e729bd87984107ac9fc99987d8ff79f4
Diffstat (limited to '.github/workflows/dred.yml')
-rw-r--r-- | .github/workflows/dred.yml | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/.github/workflows/dred.yml b/.github/workflows/dred.yml new file mode 100644 index 00000000..ac703dd1 --- /dev/null +++ b/.github/workflows/dred.yml @@ -0,0 +1,121 @@ +# Configs that enables Deep Redudancy (DRED) +name: DRED + +on: [push, pull_request] + +jobs: + CMakeBuild: + name: CMake/${{ matrix.config.name }} + runs-on: ${{ matrix.config.os }} + strategy: + fail-fast: false + matrix: + config: + - { + name: "Windows/Lib/X64/Release", + os: windows-latest, + config: Release, + args: -G "Visual Studio 17 2022" -DOPUS_X86_PRESUME_AVX2=ON + } + - { + name: "Windows/Lib/armv8/Release", + os: windows-latest, + config: Release, + args: -G "Visual Studio 17 2022" -A ARM64 + } + - { + name: "Linux/Lib/X64/Release", + os: ubuntu-latest, + config: Release, + args: -DOPUS_X86_PRESUME_AVX2=ON + } + - { + name: "Android/Lib/X64/Release", + os: ubuntu-latest, + config: Release, + args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/25.2.9519653/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86_64" + } + - { + name: "Android/Lib/ARMv8/Release", + os: ubuntu-latest, + config: Release, + args: "-DCMAKE_TOOLCHAIN_FILE=${ANDROID_HOME}/ndk/25.2.9519653/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a" + } + - { + name: "MacOSX/Lib/X64/Release", + os: macos-latest, + config: Release, + # some macs are really old in githubs lab so they don't support avx + args: -DOPUS_X86_PRESUME_AVX2=OFF + } + - { + name: "iOS/Lib/arm64/Release", + os: macos-latest, + config: Release, + args: -G "Unix Makefiles" -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_ARCHITECTURES=arm64 + } + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install AutoConf, AutoMake and LibTool # Needed for autogen.sh + if: matrix.config.os == 'macos-latest' + run: brew install autoconf automake libtool + - name: Download models Windows + if: contains(matrix.config.name, 'Windows') + run: .\autogen.bat + - name: Download models + if: contains(matrix.config.name, 'MacOSX') || + contains(matrix.config.name, 'Linux') || + contains(matrix.config.name, 'Android') || + contains(matrix.config.name, 'iOS') + run: ./autogen.sh + - name: Create Work Dir + run: mkdir build + - name: Configure + working-directory: ./build + run: cmake .. ${{ matrix.config.args }} -DCMAKE_BUILD_TYPE=${{ matrix.config.config }} -DOPUS_BUILD_PROGRAMS=ON -DBUILD_TESTING=ON -DOPUS_FAST_MATH=ON -DOPUS_FLOAT_APPROX=ON -DOPUS_DRED=ON -DOPUS_OSCE=ON + - name: Build + working-directory: ./build + run: cmake --build . -j 2 --config ${{ matrix.config.config }} --target package + - name: Test + if: contains(matrix.config.name, 'Windows') && !contains(matrix.config.name, 'ARM') && !contains(matrix.config.name, 'Dll') || + contains(matrix.config.name, 'MacOSX') && !contains(matrix.config.name, 'ARM') && !contains(matrix.config.name, 'Dll') || + contains(matrix.config.name, 'Linux') && !contains(matrix.config.name, 'ARM') && !contains(matrix.config.name, 'Dll') + working-directory: ./build + run: ctest -j 2 -C ${{ matrix.config.config }} --output-on-failure + + AutoToolsBuild: + name: AutoTools/${{ matrix.config.name }} + runs-on: ${{ matrix.config.os }} + strategy: + fail-fast: false + matrix: + config: + - { + name: "Linux/GCC", + os: ubuntu-latest, + compiler: gcc, + automakeconfig: + } + - { + name: "Linux/Clang", + os: ubuntu-latest, + compiler: clang, + automakeconfig: + } + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install AutoConf, AutoMake and LibTool on MacOSX + if: matrix.config.os == 'macos-latest' + run: brew install autoconf automake libtool + - name: Autogen + run: CC=${{ matrix.config.compiler }} ./autogen.sh + - name: Configure + run: CFLAGS="-mavx -mfma -mavx2 -O2 -ffast-math" ./configure --enable-float-approx + - name: Build + run: make -j 2 + - name: Test + run: make check -j 2 |