Files
ggwave/.github/workflows/build.yml
Georgi Gerganov 5a26dacd0f Add msys2 CI build (#25)
* ci : add msys2 build

* wip

* wip

* revert me

* wip

* msys2 : build static libs by default

* Revert "revert me"

This reverts commit 2fe8012508.

* done
2021-02-27 20:24:09 +02:00

203 lines
5.4 KiB
YAML

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-10_14-clang:
runs-on: macOS-10.14
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