name: CI on: [push] jobs: ubuntu-18_04-gcc: runs-on: ubuntu-18.04 strategy: matrix: build: [Debug, Release] steps: - name: Clone uses: actions/checkout@v1 with: submodules: recursive - name: Dependencies run: | sudo apt-get update sudo apt-get install build-essential xorg-dev libglu1-mesa-dev sudo apt-get install cmake; sudo apt-get install libsdl2-dev; - name: Configure run: cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }} - name: Build run: | make ctest --output-on-failure ubuntu-18_04-python: runs-on: ubuntu-18.04 strategy: matrix: python-version: [3.5, 3.6, 3.7, 3.8] steps: - name: Clone uses: actions/checkout@v1 with: submodules: recursive - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Dependencies run: | sudo apt-get update sudo apt-get install build-essential sudo apt-get install cmake; - name: Configure run: cmake . -DGGWAVE_SUPPORT_PYTHON=ON -DGGWAVE_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=${{ matrix.build }} - name: Build run: | make ctest --output-on-failure ubuntu-18_04-gcc-sanitized: runs-on: ubuntu-18.04 strategy: matrix: sanitizer: [ADDRESS, THREAD, UNDEFINED] steps: - name: Clone uses: actions/checkout@v1 with: submodules: recursive - 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 -DGGWAVE_BUILD_EXAMPLES=OFF -DGGWAVE_SANITIZE_${{ matrix.sanitizer }}=ON - name: Build run: | make ctest --output-on-failure ubuntu-18_04-clang: runs-on: ubuntu-18.04 strategy: matrix: build: [Release] steps: - name: Clone uses: actions/checkout@v1 with: submodules: recursive - name: Dependencies run: | sudo apt-get update sudo apt-get install build-essential xorg-dev libglu1-mesa-dev sudo apt-get install cmake; sudo apt-get install libsdl2-dev; - name: Configure run: cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang - name: Build run: | make ctest --output-on-failure macOS-latest: runs-on: macOS-latest strategy: matrix: build: [Release] steps: - name: Clone uses: actions/checkout@v1 with: submodules: recursive - name: Dependencies run: | brew update brew install sdl2 - name: Configure run: cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }} - name: Build run: | make ctest --output-on-failure emscripten: runs-on: ubuntu-18.04 strategy: matrix: build: [Release] steps: - name: Clone uses: actions/checkout@v1 with: submodules: recursive - 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 && ctest --output-on-failure # windows-msys2: # runs-on: windows-latest # defaults: # run: # shell: msys2 {0} # steps: # - name: Clone # uses: actions/checkout@v1 # with: # submodules: recursive # # - name: Dependencies # uses: msys2/setup-msys2@v2 # with: # msystem: MINGW64 # update: true # install: cmake make mingw-w64-x86_64-dlfcn mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2 # # - name: Configure # run: cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }} # # - name: Build # run: | # make # ctest --output-on-failure