build.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. name: Build
  2. on: push
  3. jobs:
  4. ubuntu-build:
  5. if: startsWith(github.event.head_commit.message, '[SKIP]') == false
  6. runs-on: ubuntu-latest
  7. steps:
  8. - uses: actions/checkout@v3
  9. - name: Install gtest
  10. run: |
  11. mkdir build && cd build
  12. git clone -b release-1.11.0 --depth=1 https://github.com/google/googletest.git googletest
  13. cd googletest && mkdir gtest_build && cd gtest_build
  14. sudo cmake .. && sudo make
  15. sudo make install
  16. - name: Compile
  17. if: ${{ success() }}
  18. shell: bash
  19. run: |
  20. gcc --version
  21. cd build
  22. cmake -DASAN=ON -DSTRICT_ERROR=ON ..
  23. make
  24. - name: Run Testcase
  25. run: ./build/bin/Cbox-test
  26. windows-build:
  27. if: startsWith(github.event.head_commit.message, '[SKIP]') == false
  28. runs-on: windows-latest
  29. steps:
  30. - uses: actions/checkout@v3
  31. - name: Compile
  32. if: ${{ success() }}
  33. shell: bash
  34. run: |
  35. mkdir build
  36. cd build
  37. cmake -DSTRICT_ERROR=ON ..
  38. cmake --build . --config release
  39. - name: Run Testcase
  40. run: ./build/bin/Release/Cbox-test.exe
  41. macos-build:
  42. if: startsWith(github.event.head_commit.message, '[SKIP]') == false
  43. runs-on: macos-11
  44. steps:
  45. - uses: actions/checkout@v3
  46. - name: Install gtest
  47. run: |
  48. mkdir build && cd build
  49. git clone -b release-1.11.0 --depth=1 https://github.com/google/googletest.git googletest
  50. cd googletest && mkdir gtest_build && cd gtest_build
  51. cmake .. && sudo make
  52. make install
  53. - name: Compile
  54. if: ${{ success() }}
  55. shell: bash
  56. run: |
  57. gcc --version
  58. cd build
  59. cmake -DASAN=ON -DSTRICT_ERROR=ON ..
  60. make
  61. - name: Run Testcase
  62. run: ./build/bin/Cbox-test