build.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # Build and run tests on the baseline platform
  2. name: build
  3. on:
  4. push:
  5. branches: [ "master" ]
  6. pull_request:
  7. branches: [ "master" ]
  8. jobs:
  9. build:
  10. name: Build and test
  11. runs-on: ubuntu-latest
  12. strategy:
  13. matrix:
  14. include:
  15. - BUILD_TYPE: Release
  16. BUILD_FAST: OFF
  17. BASH_PLATFORM: BASH_64
  18. CC: gcc
  19. - BUILD_TYPE: Check
  20. BUILD_FAST: OFF
  21. BASH_PLATFORM: BASH_SSE2
  22. CC: gcc
  23. - BUILD_TYPE: ASan
  24. BUILD_FAST: OFF
  25. BASH_PLATFORM: BASH_32
  26. CC: gcc
  27. - BUILD_TYPE: MemSan
  28. BUILD_FAST: ON
  29. BASH_PLATFORM: BASH_AVX2
  30. CC: clang
  31. - BUILD_TYPE: Debug
  32. BUILD_FAST: ON
  33. BASH_PLATFORM: BASH_64
  34. CC: clang
  35. steps:
  36. - name: Get source
  37. uses: actions/checkout@v3
  38. - name: Configure CMake
  39. run: CC=${{matrix.CC}} cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} -DBUILD_FAST=${{matrix.BUILD_FAST}} -DBASH_PLATFORM=${{matrix.BASH_PLATFORM}}
  40. - name: Build
  41. run: cmake --build ${{github.workspace}}/build --config ${{matrix.BUILD_TYPE}}
  42. - name: Test
  43. working-directory: ${{github.workspace}}/build
  44. run: ctest -C ${{matrix.BUILD_TYPE}} --verbose