diff --git a/.github/workflows/ClangRelWithDebInfoAsan.yml b/.github/workflows/ClangRelWithDebInfoAsan.yml index 3f660ab..812f698 100644 --- a/.github/workflows/ClangRelWithDebInfoAsan.yml +++ b/.github/workflows/ClangRelWithDebInfoAsan.yml @@ -1,3 +1,4 @@ +--- name: Clang RelWithDebInfoAsan on: @@ -11,59 +12,73 @@ permissions: read-all env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: RelWithDebInfo - CC: clang - CXX: clang + CC: clang + CXX: clang jobs: build: - # The CMake configure and build commands are platform agnostic and should work equally - # well on Windows or Mac. You can convert this to a matrix build if you need - # cross-platform coverage. + # yamllint disable rule:line-length + # The CMake configure and build commands are platform agnostic and should + # work equally well on Windows or Mac. You can convert this to a matrix + # build if you need cross-platform coverage. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + # yamllint enable rule:line-length runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax - - - name: update - run: sudo apt-get update + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.x' + # Version range or exact version of a Python version to use, + # using SemVer's version range syntax + + - name: Update package lists + run: sudo apt-get update - - name: Install check - run: sudo apt-get install check + - name: Install check + run: sudo apt-get install check - - name: Install valgrind - run: sudo apt-get install valgrind + - name: Install Valgrind + run: sudo apt-get install valgrind - - name: install conan - run: pip3 install conan + - name: Install conan + run: pip3 install conan - - name: Create Build Environment - # Some projects don't allow in-source building, so create a separate build directory - # We'll use this as our working directory for all subsequent commands - run: cmake -E make_directory ${{runner.workspace}}/build + - name: Create Build Environment + # Some projects don't allow in-source building, so create a separate + # build directory We'll use this as our working directory for all + # subsequent commands + shell: bash + run: cmake -E make_directory ${{ runner.temp }}/build - - name: Configure CMake - # Use a bash shell so we can use the same syntax for environment variable - # access regardless of the host operating system - shell: bash - working-directory: ${{runner.workspace}}/build - # Note the current convention is to use the -S and -B options here to specify source - # and build directories, but this is only available with CMake 3.13 and higher. - # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_TESTING=ON -DBUILD_SHARED_LIBS=ON -DENABLE_ASAN=ON .. + - name: Configure CMake + # Use a bash shell so we can use the same syntax for environment + # variable access regardless of the host operating system + shell: bash + working-directory: ${{ runner.temp }}/build + # Note the current convention is to use the -S and -B options here + # to specify source and build directories, but this is only + # available with CMake 3.13 and higher. The CMake binaries on the + # Github Actions machines are (as of this writing) 3.28 + run: | + cmake "$GITHUB_WORKSPACE" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DENABLE_TESTING=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_ASAN=ON .. - - name: Build - working-directory: ${{runner.workspace}}/build - shell: bash - # Execute the build. You can specify a specific target with "--target " - run: cmake --build . --config $BUILD_TYPE + - name: Build + shell: bash + working-directory: ${{ runner.temp }}/build + # Execute the build. You can specify a specific target + # with "--target " + run: cmake --build . --config "$BUILD_TYPE" - - name: Test - working-directory: ${{runner.workspace}}/build - shell: bash - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest + - name: Test + shell: bash + working-directory: ${{ runner.temp }}/build + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html + # for more detail + run: ctest