diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml new file mode 100644 index 0000000..8b0f86b --- /dev/null +++ b/.github/workflows/backend.yml @@ -0,0 +1,53 @@ +name: Backend + +on: [pull_request, push] + +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: Get Conan + uses: turtlebrowser/get-conan@v1.0 + + - name: Create default profile + working-directory: ./backend + run: conan profile new default --detect + + - name: Update profile + working-directory: ./backend + run: conan profile update settings.compiler.libcxx=libstdc++11 default + + - name: Install dependencies + working-directory: ./backend + run: conan install . -s build_type=${{env.BUILD_TYPE}} --install-folder=${{github.workspace}}/build + + - name: Configure CMake + working-directory: ./backend + # 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 ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + working-directory: ./backend + # Build your program with the given configuration + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + + test: + needs: build + runs-on: ubuntu-latest + + steps: + - name: Run tests + working-directory: ./backend + run: ./backend/build/test/pdl_test \ No newline at end of file