ref: f730f47a1190f9f587fb869e90f0f80c284da420
parent: 0f6b2023122048489c97cc2f8d7313659be9eca2
author: Marcus Asteborg <xnorpx@outlook.com>
date: Sat Jun 17 03:45:29 EDT 2023
Rename DRED CI
--- a/.github/workflows/build.yml
+++ /dev/null
@@ -1,136 +1,0 @@
-name: Opus Neural FEC Build Matrix
-
-on: [push, pull_request]
-
-jobs:
- CheckTrailingWhiteSpaces:
- name: Check trailing white spaces
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- with:
- fetch-depth: 0
- submodules: recursive
- - name: Check Whitespaces
- run: |
- git diff-tree --check origin/master HEAD
-
- 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: Pull git submodules
- run: git submodule update --init --recursive
- - 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: Submodule init and 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_NEURAL_FEC=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
-
- AutoMakeBuild:
- name: AutoMake/${{ 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: Pull git submodules
- run: git submodule update --init --recursive
- - 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
\ No newline at end of file
--- /dev/null
+++ b/.github/workflows/dred.yml
@@ -1,0 +1,125 @@
+# 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: Pull git submodules
+ run: git submodule update --init --recursive
+ - 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: Submodule init and 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_NEURAL_FEC=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: Pull git submodules
+ run: git submodule update --init --recursive
+ - 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
\ No newline at end of file
--
⑨