|
|
|
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
|