Code Monkey home page Code Monkey logo

aac's People

Contributors

iriide avatar mizuii avatar

Watchers

 avatar

aac's Issues

Workflow

Soo there is no workflow. On github if you go to the Actions tab u can select one of existing workflows to configure. The project is based on cmake soo the workflow also should use cmake. There is an existing C/C++ cmake worklfow which looks like this

name: CMake

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

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

    steps:
    - uses: actions/checkout@v3

    - 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 ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}

    - name: Build
      # Build your program with the given configuration
      run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

    - name: Test
      working-directory: ${{github.workspace}}/build
      # Execute tests defined by the CMake configuration.
      # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
      run: ctest -C ${{env.BUILD_TYPE}}

I don't really know whats going on here but I'm guessing the run: cmake ... are commads that define what the workflow does. The 3 commands you need to build the project are cmake -B ${{github.workspace}}/build Which creates a build folder and configures cmake in it ( The github.workspace is just a variable that points to the source directory of the project (don't know how to set it tho)). After that running cmake --build ${{github.workspace}}/build will build the project (didn't know it worked like that till now XD). This two commands are easy because they match. The tests don't match in the current main branch because they are not discovered. To make this command work u need to change the CMakeLists.txt in the tests/ dir. Find the code looking like that

# Create global test runner
add_executable(${PROJECT_NAME} test_runner.cpp)
target_link_libraries(${PROJECT_NAME} PRIVATE gtest gmock gtest_main ${AAC_LIBRARY})

And insert this

# Create global test runner
add_executable(${PROJECT_NAME} test_runner.cpp)
gtest_discover_tests(${PROJECT_NAME})
target_link_libraries(${PROJECT_NAME} PRIVATE gtest gmock gtest_main ${AAC_LIBRARY})

This should enable running the command ctest -C in the ${{github.workspace}}/build working directory. This are the 3 commands u need to know to setup the workflow I guess, don't know c: . You can skip anything connected with the BUILD_TYPE environmental variable cause my camke is not smart enough to build differently for release and for other things XD (not yet tho).

If you are very bored I just found out u can write issue templates, I believe in yaml, soo that they are not soo chaotic like this one. https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository Here u can find some help. I'm looking forward to our future collaboration. U can test a lot of things u learned in your job as devops. Consider this your playground. Just don't break it tho pls. Have a great day c: .

P.S. Let me know when you accept the invite soo I can properly assign you to this issue.

Valgrind

So when the pipeline is finally working it is time to add more functions to it and this function is Valgrind. Tbh apart from that i don't know what to write here so that's the whole issue: Valgrind.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.