diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml new file mode 100644 index 000000000..bc19e2841 --- /dev/null +++ b/.github/workflows/ccpp.yml @@ -0,0 +1,84 @@ +name: C/C++ CI + +on: [push] + +jobs: + linux: + name: Linux + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Cmake + run: | + [ "$(git rev-parse --abbrev-ref HEAD)" == "master" ] && \ + cmake -DMX_BUILD_EXAMPLES=on -DMX_BUILD_TESTS=on -DMX_BUILD_CORE_TESTS=on . || \ + cmake -DMX_BUILD_EXAMPLES=on -DMX_BUILD_TESTS=on -DMX_BUILD_CORE_TESTS=off . + - name: Check Cores + run: | + export CORE_COUNT=$(nproc --all) && echo "CORE_COUNT: $CORE_COUNT" && \ + lscpu + + - name: Build + run: export CORE_COUNT=$(nproc --all) && make -j$CORE_COUNT + + - name: Run Examples + run: ./MxRead && ./MxWrite + + - name: Run Tests + run: ./MxTest + + windows: + name: Windows + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + + - name: Cmake + run: | + cmake -DMX_BUILD_EXAMPLES=on -DMX_BUILD_TESTS=on -DMX_BUILD_CORE_TESTS=off . + + - name: Build + run: | + cmake --build . + + - name: List Directory + run: dir + + #- name: List Debug Dir + # run: cd x64 -and dir + + - name: Run Example MxWrite + run: Debug\MxWrite.exe + + - name: Run Example MxRead + run: Debug\MxRead.exe + + - name: Run Tests + run: Debug\MxTest.exe + + macos: + name: macOS + runs-on: macos-latest + + steps: + - uses: actions/checkout@v2 + + - name: Cmake + run: | + cmake -DMX_BUILD_EXAMPLES=on -DMX_BUILD_TESTS=on -DMX_BUILD_CORE_TESTS=off . + + - name: Build + run: | + cmake --build . + + - name: Run Example MxWrite + run: ./MxWrite + + - name: Run Example MxRead + run: ./MxRead + + - name: Run Tests + run: ./MxTest