Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade build system #75

Open
wants to merge 46 commits into
base: main
Choose a base branch
from

Conversation

NikitaZotov
Copy link
Member

@NikitaZotov NikitaZotov commented Feb 1, 2025

Depends on:

Important

Upgrade build system by updating CMake configuration, adding Conan, and modifying scripts and logging.

  • Build System:
    • Update CMakeLists.txt to require CMake version 3.24 and set project version to 0.1.0.
    • Add CMakePresets.json for build configuration presets.
    • Integrate Conan for dependency management in conanfile.py.
    • Remove submodules ostis-web-platform and thirdparty/googletest from .gitmodules.
  • CMake Modules:
    • Add cmake/ClangFormat.cmake for code formatting.
    • Add cmake/install.cmake for installation configuration.
    • Add cmake/tests.cmake for test configuration.
  • Scripts:
    • Add scripts/clang/check_formatting.sh and scripts/clang/format_code.sh for code formatting.
    • Update scripts/install_metasystem.sh to remove platform installation steps.
    • Update scripts/set_vars.sh to remove platform-related variables.
  • Code Changes:
    • Update logging in translate_main_system_idtfs_from_sc_to_file_agent.cpp and other agents to use m_logger.
    • Modify ostis-metasystem.ini to change parallel_actions to 1.
  • Testing:
    • Add tests for identifiers-module and sections-module in respective test directories.

This description was created by Ellipsis for 54c7c84. It will automatically update as commits are pushed.

@NikitaZotov NikitaZotov self-assigned this Feb 1, 2025
Copy link

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Looks good to me! Reviewed everything up to 54c7c84 in 1 minute and 1 seconds

More details
  • Looked at 1108 lines of code in 43 files
  • Skipped 2 files when reviewing.
  • Skipped posting 8 drafted comments based on config settings.
1. .gitmodules:1
  • Draft comment:
    The removal of submodules from .gitmodules should be reflected in the removal of their usage in the codebase. Ensure that any references to these submodules in the codebase are also removed or updated accordingly.
  • Reason this comment was not posted:
    Comment did not seem useful.
2. CMakeLists.txt:26
  • Draft comment:
    Use if(SC_BUILD_TESTS) instead of if(${SC_BUILD_TESTS}) to check the option correctly. This applies to other similar conditions in this file.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The CMakeLists.txt file has been updated to use modern CMake practices, which is good. However, the use of if(${SC_BUILD_TESTS}) and if(${SC_CLANG_FORMAT_CODE}) should be if(SC_BUILD_TESTS) and if(SC_CLANG_FORMAT_CODE) respectively, as these are options and should be checked without the ${}.
3. CMakePresets.json:3
  • Draft comment:
    Ensure that the included ConanPresets.json file exists and is correctly configured to avoid build issues.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The CMakePresets.json file is well-structured and includes necessary configurations for different build types. However, it is important to ensure that the included ConanPresets.json file exists and is correctly configured to avoid build issues.
4. cmake/ClangFormat.cmake:17
  • Draft comment:
    Ensure that the clang-format tool is available in the environment to avoid configuration errors when this script is executed.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The ClangFormat.cmake file is well-structured and provides a good setup for formatting targets. However, ensure that the clang-format tool is available in the environment where this CMake script is executed to avoid configuration errors.
5. cmake/install.cmake:4
  • Draft comment:
    Ensure that all paths and variables used in this script are correctly defined and available in the build environment to avoid installation issues.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The install.cmake script is well-structured for installing targets and setting up CPack. However, ensure that all paths and variables used are correctly defined and available in the build environment to avoid installation issues.
6. cmake/tests.cmake:17
  • Draft comment:
    Ensure that the GTest library is correctly linked and available in the build environment to avoid test execution issues.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The tests.cmake function is well-structured for creating tests from a folder. However, ensure that the GTest library is correctly linked and available in the build environment to avoid test execution issues.
7. conanfile.py:13
  • Draft comment:
    Ensure that the specified versions of dependencies are available in the Conan repository to avoid build issues.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The conanfile.py script is well-structured for defining Conan dependencies. However, ensure that the specified versions of dependencies are available in the Conan repository to avoid build issues.
8. ostis-metasystem.ini:9
  • Draft comment:
    Ensure that the removal of the extensions path is intentional and that the system can function correctly without this configuration.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    The ostis-metasystem.ini file has been updated to remove the extensions path. Ensure that this change is intentional and that the system can function correctly without this configuration.

Workflow ID: wflow_DQ2WpX6YdwcQwizd


You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

@NikitaZotov NikitaZotov force-pushed the feat/update_build_system branch from 46548bd to eeb3562 Compare February 2, 2025 16:38
@NikitaZotov
Copy link
Member Author

@ellipsis, review PR, please

Copy link

ellipsis-dev bot commented Feb 3, 2025

I attempted to review the pull request, but it seems there is an issue accessing it. Please verify the pull request's status or visibility, and let me know if there are any changes.

@NikitaZotov
Copy link
Member Author

@ellipsis, give me a code review

Copy link

ellipsis-dev bot commented Feb 3, 2025

I'm currently unable to access PR #75 for a review. Please verify the repository's access permissions or try again later. If the issue persists, consider reaching out for support.

.github/workflows/test_conan.yml Outdated Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
2. Install C++ problem solver:

```sh
./scripts/install_cxx_problem_solver.sh
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to check this after everything is released

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so error here is expected currently?

Copy link
Member Author

@NikitaZotov NikitaZotov Feb 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, not all repos are release yet

docs/quick_start.md Show resolved Hide resolved
docs/quick_start.md Outdated Show resolved Hide resolved
docs/quick_start.md Outdated Show resolved Hide resolved
docs/quick_start.md Show resolved Hide resolved
2. Install C++ problem solver:

```sh
./scripts/install_cxx_problem_solver.sh
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so error here is expected currently?

Copy link
Member

@kilativ-dotcom kilativ-dotcom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not everything was fixed


### Pull Request Review

- Reviewer should test code from PR if CI don't do it;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI is something that happens in the past relative to the testing by reviewer so it should use some past tense

To check code with CLangFormat run:
```sh
cmake --preset release-with-tests-conan -DSC_CLANG_FORMAT_CODE=ON
cmake --build --preset release --target clangformat_check
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no it's not
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants