Spaces:
Sleeping
Sleeping
| name: CI | |
| on: [push] | |
| 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: | |
| arch: ["Win32", "x64"] | |
| steps: | |
| - name: Clone | |
| uses: actions/checkout@v1 | |
| - name: Add msbuild to PATH | |
| uses: microsoft/setup-msbuild@v1 | |
| - name: CMake | |
| shell: powershell | |
| run: cmake -S . -B ./build_${{matrix.arch}} -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=Release | |
| - name: MSBuild | |
| run: | | |
| cd ./build_${{matrix.arch}} | |
| msbuild INSTALL.vcxproj /t:build /p:configuration=Release /p:platform=${{matrix.arch}} -maxcpucount | |
| - name: Upload binaries | |
| uses: actions/upload-artifact@v1 | |
| with: | |
| name: whisper-bin-${{matrix.arch}} | |
| path: build_${{matrix.arch}}/bin/Release | |