# This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage. # See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml name: CMake on a single platform on: push: branches: [ "master" ] pull_request: branches: [ "master" ] env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: Release 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. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix runs-on: ubuntu-latest permissions: checks: write pull-requests: write steps: - uses: actions/checkout@v3 - name: Install Conan id: conan uses: turtlebrowser/get-conan@main - name: Create profile run: conan profile detect --force - name: Install dependencies run: conan install . --build=missing - name: Configure CMake working-directory: ${{github.workspace}}/build/${{env.BUILD_TYPE}}/generators run: cmake ../../.. -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - name: Build working-directory: ${{github.workspace}}/build/${{env.BUILD_TYPE}}/generators # Build your program with the given configuration run: cmake --build . - name: Test working-directory: ${{github.workspace}}/build/${{env.BUILD_TYPE}}/generators # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: ./testFFT --order rand --warn NoAssertions --reporter JUnit::out=${{github.workspace}}/result-junit.xml --reporter console::out=- - name: Publish Test Results uses: EnricoMi/publish-unit-test-result-action@v2 if: always() with: files: | ${{github.workspace}}/result-junit.xml