Tools and libraries to glue C/C++ APIs to high-level languages
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

79 lines
2.1 KiB

name: CI
on: [push, pull_request]
jobs:
build-posix:
strategy:
matrix:
config:
- { os: ubuntu-20.04, cc: gcc-7, cxx: g++-7 }
- { os: macos-10.15, cc: "clang", cxx: "clang++" }
runs-on: ${{ matrix.config.os }}
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
steps:
- uses: actions/checkout@v2
- name: Setup
run: |
source build/InstallMono.sh &&
build/InstallNugets.sh &&
build/premake.sh --file=build/scripts/LLVM.lua download_llvm
- name: Build
run: build/Compile.sh
- name: Test
run: build/RunTests.sh
- uses: MirrorNG/nunit-reporter@v1.0.9
if: always()
with:
path: build/**/TestResult.xml
access-token: ${{ secrets.GITHUB_TOKEN }}
build-windows:
strategy:
matrix:
config:
- { os: windows-2019, vs: 2019, platform: x86 }
- { os: windows-2019, vs: 2019, platform: x64 }
runs-on: ${{ matrix.config.os }}
env:
VS_VERSION: ${{ matrix.config.vs }}
PLATFORM: ${{ matrix.config.platform }}
steps:
- uses: actions/checkout@v2
- name: Setup
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\%VS_VERSION%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" %PLATFORM%
build\premake5.exe --file=build\scripts\LLVM.lua download_llvm --arch=%PLATFORM%
- name: Build
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\%VS_VERSION%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" %PLATFORM%
build\premake5.exe --file=build\premake5.lua vs%VS_VERSION% --arch=%PLATFORM%
msbuild build\vs%VS_VERSION%\CppSharp.sln /p:Configuration=Release /verbosity:minimal
- name: Test
shell: bash
run: |
build/InstallNugets.sh &&
build/RunTests.sh
- uses: MirrorNG/nunit-reporter@v1.0.9
if: always()
with:
path: build/**/TestResult.xml
access-token: ${{ secrets.GITHUB_TOKEN }}