diff --git a/.github/workflows/build.yml b/.github/workflows/build-develop.yml similarity index 95% rename from .github/workflows/build.yml rename to .github/workflows/build-develop.yml index 99b6d5a..6be2ef6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build-develop.yml @@ -1,10 +1,10 @@ -name: Build +name: Build (develop) on: push: - branches: [ main, develop ] + branches: [ develop ] pull_request: - branches: [ main, develop ] + branches: [ develop ] env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) diff --git a/.github/workflows/build-main.yml b/.github/workflows/build-main.yml new file mode 100644 index 0000000..6fa84ea --- /dev/null +++ b/.github/workflows/build-main.yml @@ -0,0 +1,51 @@ +name: Build (main) + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Debug + +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 + + steps: + - uses: actions/checkout@v2 + + - name: Install Conan + id: conan + uses: turtlebrowser/get-conan@main + + - name: Conan The Frogarian + run: conan frogarian + + - name: Conan Profile Setup + run: | + conan config init + conan profile update settings.compiler.libcxx=libstdc++11 default + + - name: Conan Install Dependencies + run: conan install -if build . + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake -B build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + # Build your program with the given configuration + run: cmake --build build --config ${{env.BUILD_TYPE}} + + - name: Test + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: cmake --build build --target test --config ${{env.BUILD_TYPE}} diff --git a/docs/index.rst b/docs/index.rst index 1e1c696..cfc151c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,11 +1,11 @@ Introduction ============ -.. image:: https://github.com/JHUAPL/kami/actions/workflows/build.yml/badge.svg?branch=main - :target: https://github.com/JHUAPL/kami/actions/workflows/build.yml +.. image:: https://github.com/JHUAPL/kami/actions/workflows/build-main.yml/badge.svg?branch=main + :target: https://github.com/JHUAPL/kami/actions/workflows/build-main.yml :alt: Build Status (main) -.. image:: https://github.com/JHUAPL/kami/actions/workflows/build.yml/badge.svg?branch=develop - :target: https://github.com/JHUAPL/kami/actions/workflows/build.yml +.. image:: https://github.com/JHUAPL/kami/actions/workflows/build-develop.yml/badge.svg?branch=develop + :target: https://github.com/JHUAPL/kami/actions/workflows/build-develop.yml :alt: Build Status (develop) .. image:: https://readthedocs.org/projects/kami/badge/?version=latest :target: https://kami.readthedocs.io/en/latest/?badge=latest