diff options
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r-- | .github/workflows/build.yml | 68 |
1 files changed, 65 insertions, 3 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9af12a89..d2a87574 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ on: jobs: lint: - name: Lint + name: lint runs-on: ubuntu-latest steps: - uses: actions/setup-python@v1 @@ -21,11 +21,11 @@ jobs: run: pip3 install flake8==3.7.8 - run: flake8 build: - name: Build + name: build runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-16.04, macos-latest, windows-latest] + os: [ubuntu-latest, macos-latest, windows-latest] steps: - uses: actions/setup-python@v1 with: @@ -33,11 +33,25 @@ jobs: - uses: actions/checkout@v1 with: submodules: true + - name: install ninja (linux) + run: sudo apt-get install ninja-build + if: matrix.os == 'ubuntu-latest' + - name: install ninja (osx) + run: brew install ninja + if: matrix.os == 'macos-latest' + - name: install ninja (win) + run: choco install ninja + if: matrix.os == 'windows-latest' - name: mkdir run: mkdir -p out - name: cmake + run: cmake .. -G Ninja + working-directory: out + if: matrix.os != 'windows-latest' + - name: cmake (windows) run: cmake .. working-directory: out + if: matrix.os == 'windows-latest' - name: build run: cmake --build out - name: unittests @@ -46,3 +60,51 @@ jobs: run: cmake --build out --target run-c-api-tests - name: tests run: cmake --build out --target run-tests + emscripten: + name: emscripten + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + with: + submodules: true + - name: build + run: | + docker run -di --name emscripten -v $(pwd):/src trzeci/emscripten:sdk-incoming-64bit bash + docker exec emscripten emconfigure cmake . + docker exec emscripten emmake make -j 2 + + build-asan: + name: asan + runs-on: ubuntu-latest + env: + USE_NINJA: "1" + steps: + - uses: actions/setup-python@v1 + with: + python-version: '3.x' + - uses: actions/checkout@v1 + with: + submodules: true + - run: sudo apt-get install ninja-build + - run: make clang-debug-asan + - run: make clang-release-asan + - run: make test-clang-debug-asan + - run: make test-clang-release-asan + + build-ubsan: + name: ubsan + runs-on: ubuntu-latest + env: + USE_NINJA: "1" + steps: + - uses: actions/setup-python@v1 + with: + python-version: '3.x' + - uses: actions/checkout@v1 + with: + submodules: true + - run: sudo apt-get install ninja-build + - run: make clang-debug-ubsan + - run: make clang-release-ubsan + - run: make test-clang-debug-ubsan + - run: make test-clang-release-ubsan |