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