name: CI
-on: [push]
+on: [push, pull_request]
jobs:
- ubuntu-latest:
- runs-on: ubuntu-latest
-
- steps:
- - name: Clone
- uses: actions/checkout@v1
-
- - name: Dependencies
- run: |
- sudo apt-get update
- sudo apt-get install build-essential
- sudo apt-get install libsdl2-dev
-
- - name: Build
- run: |
- make
- make stream
-
- macOS-latest:
- runs-on: macOS-latest
-
- steps:
- - name: Clone
- uses: actions/checkout@v1
-
- - name: Dependencies
- run: |
- brew update
- brew install sdl2
-
- - name: Build
- run: |
- make
- make stream
-
- ubuntu-latest-gcc:
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- build: [Debug, Release]
-
- steps:
- - name: Clone
- uses: actions/checkout@v1
-
- - name: Dependencies
- run: |
- sudo apt-get update
- sudo apt-get install build-essential
- sudo apt-get install cmake
- sudo apt-get install libsdl2-dev
-
- - name: Configure
- run: cmake . -DWHISPER_SUPPORT_SDL2=ON -DCMAKE_BUILD_TYPE=${{ matrix.build }}
-
- - name: Build
- run: |
- make
- ctest -L gh --output-on-failure
-
- ubuntu-latest-clang:
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- build: [Debug, Release]
-
- steps:
- - name: Clone
- uses: actions/checkout@v1
-
- - name: Dependencies
- run: |
- sudo apt-get update
- sudo apt-get install build-essential
- sudo apt-get install cmake
- sudo apt-get install libsdl2-dev
-
- - name: Configure
- run: cmake . -DWHISPER_SUPPORT_SDL2=ON -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang
-
- - name: Build
- run: |
- make
- ctest -L gh --output-on-failure
-
- ubuntu-latest-gcc-sanitized:
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- sanitizer: [ADDRESS, THREAD, UNDEFINED]
-
- steps:
- - name: Clone
- uses: actions/checkout@v1
-
- - name: Dependencies
- run: |
- sudo apt-get update
- sudo apt-get install build-essential
- sudo apt-get install cmake
-
- - name: Configure
- run: cmake . -DCMAKE_BUILD_TYPE=Debug -DWHISPER_SANITIZE_${{ matrix.sanitizer }}=ON
-
- - name: Build
- run: |
- make
- ctest -L gh --output-on-failure
-
- windows:
- runs-on: windows-latest
-
- strategy:
- matrix:
- build: [Release]
- arch: [Win32, x64]
- sdl2: [ON]
- include:
- - arch: Win32
- s2arc: x86
- - arch: x64
- s2arc: x64
- - sdl2: ON
- s2ver: 2.26.0
-
- steps:
- - name: Clone
- uses: actions/checkout@v1
-
- - name: Add msbuild to PATH
- uses: microsoft/setup-msbuild@v1
-
- - name: Fetch SDL2 and set SDL2_DIR
- if: matrix.sdl2 == 'ON'
- run: |
- C:/msys64/usr/bin/wget.exe -qO sdl2.zip https://github.com/libsdl-org/SDL/releases/download/release-${{ matrix.s2ver }}/SDL2-devel-${{ matrix.s2ver }}-VC.zip
- 7z x sdl2.zip
- echo "SDL2_DIR=$env:GITHUB_WORKSPACE/SDL2-${{ matrix.s2ver }}/cmake" >> $env:GITHUB_ENV
-
- - name: Configure
- run: >
- cmake -S . -B ./build -A ${{ matrix.arch }}
- -DCMAKE_BUILD_TYPE=${{ matrix.build }}
- -DWHISPER_SUPPORT_SDL2=${{ matrix.sdl2 }}
-
- - name: Build
- run: |
- cd ./build
- msbuild ALL_BUILD.vcxproj -t:build -p:configuration=${{ matrix.build }} -p:platform=${{ matrix.arch }}
-
- - name: Copy SDL2.dll
- if: matrix.sdl2 == 'ON'
- run: copy "$env:SDL2_DIR/../lib/${{ matrix.s2arc }}/SDL2.dll" build/bin/${{ matrix.build }}
-
- - name: Upload binaries
- if: matrix.sdl2 == 'ON'
- uses: actions/upload-artifact@v1
- with:
- name: whisper-bin-${{ matrix.arch }}
- path: build/bin/${{ matrix.build }}
-
- windows-blas:
- runs-on: windows-latest
-
- strategy:
- matrix:
- build: [Release]
- arch: [Win32, x64]
- blas: [ON]
- sdl2: [ON]
- include:
- - arch: Win32
- obzip: https://github.com/xianyi/OpenBLAS/releases/download/v0.3.21/OpenBLAS-0.3.21-x86.zip
- s2arc: x86
- - arch: x64
- obzip: https://github.com/xianyi/OpenBLAS/releases/download/v0.3.21/OpenBLAS-0.3.21-x64.zip
- s2arc: x64
- - sdl2: ON
- s2ver: 2.26.0
-
- steps:
- - name: Clone
- uses: actions/checkout@v1
-
- - name: Add msbuild to PATH
- uses: microsoft/setup-msbuild@v1
-
- - name: Fetch OpenBLAS
- if: matrix.blas == 'ON'
- run: |
- C:/msys64/usr/bin/wget.exe -qO blas.zip ${{ matrix.obzip }}
- 7z x blas.zip -oblas -y
- copy blas/include/cblas.h .
- copy blas/include/openblas_config.h .
- echo "blasdir=$env:GITHUB_WORKSPACE/blas" >> $env:GITHUB_ENV
-
- - name: Fetch SDL2 and set SDL2_DIR
- if: matrix.sdl2 == 'ON'
- run: |
- C:/msys64/usr/bin/wget.exe -qO sdl2.zip https://github.com/libsdl-org/SDL/releases/download/release-${{ matrix.s2ver }}/SDL2-devel-${{ matrix.s2ver }}-VC.zip
- 7z x sdl2.zip
- echo "SDL2_DIR=$env:GITHUB_WORKSPACE/SDL2-${{ matrix.s2ver }}/cmake" >> $env:GITHUB_ENV
-
- - name: Configure
- run: >
- cmake -S . -B ./build -A ${{ matrix.arch }}
- -DCMAKE_BUILD_TYPE=${{ matrix.build }}
- -DWHISPER_SUPPORT_OPENBLAS=${{ matrix.blas }}
- -DCMAKE_LIBRARY_PATH="$env:blasdir/lib"
- -DWHISPER_SUPPORT_SDL2=${{ matrix.sdl2 }}
-
- - name: Build
- run: |
- cd ./build
- msbuild ALL_BUILD.vcxproj -t:build -p:configuration=${{ matrix.build }} -p:platform=${{ matrix.arch }}
-
- - name: Copy libopenblas.dll
- if: matrix.blas == 'ON'
- run: copy "$env:blasdir/bin/libopenblas.dll" build/bin/${{ matrix.build }}
-
- - name: Copy SDL2.dll
- if: matrix.sdl2 == 'ON'
- run: copy "$env:SDL2_DIR/../lib/${{ matrix.s2arc }}/SDL2.dll" build/bin/${{ matrix.build }}
-
- - name: Upload binaries
- if: matrix.blas == 'ON' && matrix.sdl2 == 'ON'
- uses: actions/upload-artifact@v1
- with:
- name: whisper-blas-bin-${{ matrix.arch }}
- path: build/bin/${{ matrix.build }}
-
- emscripten:
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- build: [Release]
-
- steps:
- - name: Clone
- uses: actions/checkout@v1
-
- - name: Dependencies
- run: |
- wget -q https://github.com/emscripten-core/emsdk/archive/master.tar.gz
- tar -xvf master.tar.gz
- emsdk-master/emsdk update
- emsdk-master/emsdk install latest
- emsdk-master/emsdk activate latest
-
- - name: Configure
- run: echo "tmp"
-
- - name: Build
- run: |
- pushd emsdk-master
- source ./emsdk_env.sh
- popd
- emcmake cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }}
- make
+ ubuntu-latest:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone
+ uses: actions/checkout@v1
+
+ - name: Dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install build-essential
+ sudo apt-get install libsdl2-dev
+
+ - name: Build
+ run: |
+ make
+ make stream
+
+ macOS-latest:
+ runs-on: macOS-latest
+
+ steps:
+ - name: Clone
+ uses: actions/checkout@v1
+
+ - name: Dependencies
+ run: |
+ brew update
+ brew install sdl2
+
+ - name: Build
+ run: |
+ make
+ make stream
+
+ ubuntu-latest-gcc:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ build: [Debug, Release]
+
+ steps:
+ - name: Clone
+ uses: actions/checkout@v1
+
+ - name: Dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install build-essential
+ sudo apt-get install cmake
+ sudo apt-get install libsdl2-dev
+
+ - name: Configure
+ run: cmake . -DWHISPER_SUPPORT_SDL2=ON -DCMAKE_BUILD_TYPE=${{ matrix.build }}
+
+ - name: Build
+ run: |
+ make
+ ctest -L gh --output-on-failure
+
+ ubuntu-latest-clang:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ build: [Debug, Release]
+
+ steps:
+ - name: Clone
+ uses: actions/checkout@v1
+
+ - name: Dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install build-essential
+ sudo apt-get install cmake
+ sudo apt-get install libsdl2-dev
+
+ - name: Configure
+ run: cmake . -DWHISPER_SUPPORT_SDL2=ON -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang
+
+ - name: Build
+ run: |
+ make
+ ctest -L gh --output-on-failure
+
+ ubuntu-latest-gcc-sanitized:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ sanitizer: [ADDRESS, THREAD, UNDEFINED]
+
+ steps:
+ - name: Clone
+ uses: actions/checkout@v1
+
+ - name: Dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install build-essential
+ sudo apt-get install cmake
+
+ - name: Configure
+ run: cmake . -DCMAKE_BUILD_TYPE=Debug -DWHISPER_SANITIZE_${{ matrix.sanitizer }}=ON
+
+ - name: Build
+ run: |
+ make
+ ctest -L gh --output-on-failure
+
+ windows:
+ runs-on: windows-latest
+
+ strategy:
+ matrix:
+ build: [Release]
+ arch: [Win32, x64]
+ sdl2: [ON]
+ include:
+ - arch: Win32
+ s2arc: x86
+ - arch: x64
+ s2arc: x64
+ - sdl2: ON
+ s2ver: 2.26.0
+
+ steps:
+ - name: Clone
+ uses: actions/checkout@v1
+
+ - name: Add msbuild to PATH
+ uses: microsoft/setup-msbuild@v1
+
+ - name: Fetch SDL2 and set SDL2_DIR
+ if: matrix.sdl2 == 'ON'
+ run: |
+ C:/msys64/usr/bin/wget.exe -qO sdl2.zip https://github.com/libsdl-org/SDL/releases/download/release-${{ matrix.s2ver }}/SDL2-devel-${{ matrix.s2ver }}-VC.zip
+ 7z x sdl2.zip
+ echo "SDL2_DIR=$env:GITHUB_WORKSPACE/SDL2-${{ matrix.s2ver }}/cmake" >> $env:GITHUB_ENV
+
+ - name: Configure
+ run: >
+ cmake -S . -B ./build -A ${{ matrix.arch }}
+ -DCMAKE_BUILD_TYPE=${{ matrix.build }}
+ -DWHISPER_SUPPORT_SDL2=${{ matrix.sdl2 }}
+
+ - name: Build
+ run: |
+ cd ./build
+ msbuild ALL_BUILD.vcxproj -t:build -p:configuration=${{ matrix.build }} -p:platform=${{ matrix.arch }}
+
+ - name: Copy SDL2.dll
+ if: matrix.sdl2 == 'ON'
+ run: copy "$env:SDL2_DIR/../lib/${{ matrix.s2arc }}/SDL2.dll" build/bin/${{ matrix.build }}
+
+ - name: Upload binaries
+ if: matrix.sdl2 == 'ON'
+ uses: actions/upload-artifact@v1
+ with:
+ name: whisper-bin-${{ matrix.arch }}
+ path: build/bin/${{ matrix.build }}
+
+ windows-blas:
+ runs-on: windows-latest
+
+ strategy:
+ matrix:
+ build: [Release]
+ arch: [Win32, x64]
+ blas: [ON]
+ sdl2: [ON]
+ include:
+ - arch: Win32
+ obzip: https://github.com/xianyi/OpenBLAS/releases/download/v0.3.21/OpenBLAS-0.3.21-x86.zip
+ s2arc: x86
+ - arch: x64
+ obzip: https://github.com/xianyi/OpenBLAS/releases/download/v0.3.21/OpenBLAS-0.3.21-x64.zip
+ s2arc: x64
+ - sdl2: ON
+ s2ver: 2.26.0
+
+ steps:
+ - name: Clone
+ uses: actions/checkout@v1
+
+ - name: Add msbuild to PATH
+ uses: microsoft/setup-msbuild@v1
+
+ - name: Fetch OpenBLAS
+ if: matrix.blas == 'ON'
+ run: |
+ C:/msys64/usr/bin/wget.exe -qO blas.zip ${{ matrix.obzip }}
+ 7z x blas.zip -oblas -y
+ copy blas/include/cblas.h .
+ copy blas/include/openblas_config.h .
+ echo "blasdir=$env:GITHUB_WORKSPACE/blas" >> $env:GITHUB_ENV
+
+ - name: Fetch SDL2 and set SDL2_DIR
+ if: matrix.sdl2 == 'ON'
+ run: |
+ C:/msys64/usr/bin/wget.exe -qO sdl2.zip https://github.com/libsdl-org/SDL/releases/download/release-${{ matrix.s2ver }}/SDL2-devel-${{ matrix.s2ver }}-VC.zip
+ 7z x sdl2.zip
+ echo "SDL2_DIR=$env:GITHUB_WORKSPACE/SDL2-${{ matrix.s2ver }}/cmake" >> $env:GITHUB_ENV
+
+ - name: Configure
+ run: >
+ cmake -S . -B ./build -A ${{ matrix.arch }}
+ -DCMAKE_BUILD_TYPE=${{ matrix.build }}
+ -DWHISPER_SUPPORT_OPENBLAS=${{ matrix.blas }}
+ -DCMAKE_LIBRARY_PATH="$env:blasdir/lib"
+ -DWHISPER_SUPPORT_SDL2=${{ matrix.sdl2 }}
+
+ - name: Build
+ run: |
+ cd ./build
+ msbuild ALL_BUILD.vcxproj -t:build -p:configuration=${{ matrix.build }} -p:platform=${{ matrix.arch }}
+
+ - name: Copy libopenblas.dll
+ if: matrix.blas == 'ON'
+ run: copy "$env:blasdir/bin/libopenblas.dll" build/bin/${{ matrix.build }}
+
+ - name: Copy SDL2.dll
+ if: matrix.sdl2 == 'ON'
+ run: copy "$env:SDL2_DIR/../lib/${{ matrix.s2arc }}/SDL2.dll" build/bin/${{ matrix.build }}
+
+ - name: Upload binaries
+ if: matrix.blas == 'ON' && matrix.sdl2 == 'ON'
+ uses: actions/upload-artifact@v1
+ with:
+ name: whisper-blas-bin-${{ matrix.arch }}
+ path: build/bin/${{ matrix.build }}
+
+ emscripten:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ build: [Release]
+
+ steps:
+ - name: Clone
+ uses: actions/checkout@v1
+
+ - name: Dependencies
+ run: |
+ wget -q https://github.com/emscripten-core/emsdk/archive/master.tar.gz
+ tar -xvf master.tar.gz
+ emsdk-master/emsdk update
+ emsdk-master/emsdk install latest
+ emsdk-master/emsdk activate latest
+
+ - name: Configure
+ run: echo "tmp"
+
+ - name: Build
+ run: |
+ pushd emsdk-master
+ source ./emsdk_env.sh
+ popd
+ emcmake cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }}
+ make