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

Migrate to 0.10.0 #368

Open
wants to merge 58 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
677913a
feat(git): remove sc-machine and scl-machine submodules
NikitaZotov Feb 6, 2025
775f1e8
feat(scripts): remove install, build and run scripts; update clang fo…
NikitaZotov Feb 6, 2025
83a151d
feat(solver): move to new build system
NikitaZotov Feb 6, 2025
2fb7115
feat(cmake): update root cmakes
NikitaZotov Feb 6, 2025
cdba859
feat: add conanfile
NikitaZotov Feb 6, 2025
7ca0958
feat(git): ignore ConanPresets.json
NikitaZotov Feb 6, 2025
7b18797
refactor: problem solver
NikitaZotov Feb 6, 2025
8b6c0c1
feat(build): include scl-machine inference library
NikitaZotov Feb 6, 2025
c2d29ef
feat(solver): include inference template manager
NikitaZotov Feb 6, 2025
b91e7c4
fix(solver): MessageTopicClassifier seg fault
NikitaZotov Feb 6, 2025
5fa67e5
feat(interface): move to ts-sc-client 0.5.0
NikitaZotov Feb 7, 2025
69935f3
feat(solver): move C++ solver to API 0.10.0
NikitaZotov Feb 7, 2025
01d9007
feat(solver): move Python solver to API 0.10.0
NikitaZotov Feb 7, 2025
f1e80f5
feat(kb): remove deprecated sc-type elements
NikitaZotov Feb 7, 2025
a4c867e
feat: update config file
NikitaZotov Feb 7, 2025
d64356e
feat: update repo.path
NikitaZotov Feb 7, 2025
50f4737
feat(docker): update docker files
NikitaZotov Feb 10, 2025
af746d8
feat(cmake): bump scl-machine version
NikitaZotov Feb 10, 2025
ee399a5
git: ignore install folder
NikitaZotov Feb 10, 2025
5e37e39
feat(solver): remove deprecated types
NikitaZotov Feb 10, 2025
0cdadc7
git: don't ignore unused files
NikitaZotov Feb 10, 2025
b975d77
feat(docs): update index docs
NikitaZotov Feb 13, 2025
5d77bae
feat(docs): add quick start for users
NikitaZotov Feb 14, 2025
78da3cb
feat(docs): rename docker build files
NikitaZotov Feb 14, 2025
30d4be8
feat(docs): remove linux build files
NikitaZotov Feb 14, 2025
ee38bbb
feat(docs): move CONTRIBUTING to docs folder
NikitaZotov Feb 14, 2025
dbd0af3
fix(docs): fix incorrects in index of docs
NikitaZotov Feb 14, 2025
155c065
feat(scripts): add install dev dependencies script
NikitaZotov Feb 14, 2025
f178e70
feat(docs): add quick start for users
NikitaZotov Feb 14, 2025
27d850f
feat(docs): add quick start for contributors
NikitaZotov Feb 14, 2025
dc205da
feat(docs): describe build system of NIKA
NikitaZotov Feb 14, 2025
fe2cc87
fix(interface): typos in object names
NikitaZotov Feb 14, 2025
8145c56
feat(docs): update refs in mkdocs yml file
NikitaZotov Feb 14, 2025
8c9d663
feat(docs): add russian version of build system docs
NikitaZotov Feb 14, 2025
e90da32
fix(kb): remove using of deprecated types
NikitaZotov Feb 14, 2025
e7647e4
fix(solver): remove using of deprecated types in test scs sources
NikitaZotov Feb 14, 2025
d982d0f
fix(solver): remove using of deprecated types in python solver
NikitaZotov Feb 14, 2025
23a1a7c
feat(ci): update ci
NikitaZotov Feb 14, 2025
3fd1c9e
feat(docs): update doc styles
NikitaZotov Feb 14, 2025
e4a7bbf
feat: add ellipsis
NikitaZotov Feb 14, 2025
05ec5aa
refactor: replace deprecated types with new ones in scs sources
NikitaZotov Feb 14, 2025
eccb2e8
refactor(ci): names of steps
NikitaZotov Feb 14, 2025
ec78183
feat(cmake): check OS before setting vars
NikitaZotov Feb 14, 2025
cad365f
feat: change Conan remote url
NikitaZotov Feb 16, 2025
890f3df
fix(docker): linking extensions with libraries
NikitaZotov Feb 15, 2025
3fbb755
fix(wit): read config path
NikitaZotov Feb 17, 2025
c9c69e0
fix(chat-footer): extra typing
NikitaZotov Feb 17, 2025
b5f5c4b
fix(classifier): not duplicate generating entities
NikitaZotov Feb 17, 2025
7b49b47
fix(docs): url to docs
NikitaZotov Feb 17, 2025
3a94093
fix(docs): incorrects after review
NikitaZotov Feb 18, 2025
3a69cd1
fix(cmake): description of component
NikitaZotov Feb 18, 2025
f5b0c34
fix(cmake): don't ignore generated folder by clang-format
NikitaZotov Feb 18, 2025
588e33e
fix(solver): names of objects
NikitaZotov Feb 18, 2025
5c91391
fix(docs): clarify info about agent of message classification
NikitaZotov Feb 18, 2025
34ca32d
fix(docs): incorrects after review
NikitaZotov Feb 18, 2025
a3133d9
fix(solver): don't use using namespace in hpp files
NikitaZotov Feb 18, 2025
a782cc1
feat(solver): fix type of relations in test sc.s-sources
NikitaZotov Feb 21, 2025
2dce7e0
feat(docs): update nika.ini and scl-machine extensions in sc-machine …
NikitaZotov Feb 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@ docker-compose.yml
# Doesn't come inside this image
interface
sc-web
kb
knowledge-base
repo.path
build
bin
install
ConanPresets.json

# Docs
docs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,61 @@ jobs:
# Setting this input to true will check all Pull Request commits
checkAllCommitMessages: true # optional, default is false
# you must provide GITHUB_TOKEN to this input if checkAllCommitMessages is true
accessToken: ${{ secrets.GITHUB_TOKEN }} # optional, default is false
accessToken: ${{ secrets.GITHUB_TOKEN }}

check_formatting:
name: Check formatting
runs-on: ubuntu-24.04

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Restore ccache caches
uses: hendrikmuhs/[email protected]
with:
key: ${{ github.job }}

- name: Conan cache
uses: actions/cache@v4
with:
path: ~/.conan/data
key: conan-${{ runner.os }}-${{ hashFiles('**/conanfile.py') }}

- name: apt cache
uses: actions/cache@v4
with:
path: |
/var/cache/apt/
/var/lib/apt/
key: apt-${{ runner.os }}-${{ github.job }}

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.12"

- name: Set up pipx
run: |
python -m pip install --user pipx
python -m pipx ensurepath

- name: Set up Conan
run: |
pipx install cmake
pipx install conan

- name: Install compilers
run: sudo apt install build-essential ninja-build ccache

- name: Set Conan remote
run: |
conan profile detect
conan remote add ostis-ai https://conan.ostis.net/artifactory/api/conan/ostis-ai-library

- name: Install sc-machine
run: conan install . --build=missing

- name: Checking the code with clang
run: |
./scripts/clang/check_formatting.sh
98 changes: 96 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,97 @@ on:
workflow_dispatch:

jobs:
build:
tests-conan:
uses: ./.github/workflows/test_conan.yml
build-conan:
needs: tests-conan
strategy:
fail-fast: true
matrix:
config:
- { os: ubuntu-22.04, cc: "gcc", cxx: "g++" }
- { os: macos-14, cc: "clang", cxx: "clang++" }

runs-on: ${{ matrix.config.os }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Restore ccache caches
uses: hendrikmuhs/[email protected]
with:
key: ${{ github.job }}

- name: Conan cache
uses: actions/cache@v4
with:
path: ~/.conan/data
key: conan-${{ runner.os }}-${{ hashFiles('**/conanfile.py') }}

- name: apt cache
uses: actions/cache@v4
if: runner.os == 'Linux'
with:
path: |
/var/cache/apt/
/var/lib/apt/
key: apt-${{ runner.os }}-${{ github.job }}

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.12"

- name: Set up pipx
run: |
python -m pip install --user pipx
python -m pipx ensurepath

- name: Set up Conan
run: |
pipx install cmake
pipx install conan

- name: Install compilers (Ubuntu)
if: runner.os == 'Linux'
run: sudo apt install build-essential ninja-build ccache

- name: Install compilers (macOS)
if: runner.os == 'macOS'
run: brew install cmake ninja ccache

- name: Set Conan remote
run: |
conan profile detect
conan remote add ostis-ai https://conan.ostis.net/artifactory/api/conan/ostis-ai-library

- name: Install C++ problem solver dependencies
run: conan install . --build=missing

- name: Build NIKA
id: run_cmake
run: |
cmake --preset release-conan
cmake --build --preset release

- name: Create archive
run: |
cd ./build/Release
cpack -G TGZ

- name: Upload archive
uses: actions/upload-artifact@v4
with:
name: nika-${{ matrix.config.os }}-${{ github.ref_name }}
path: ./build/Release/nika-*.tar.gz

changelog:
needs: build-conan
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Read changelog
id: changelog_reader
Expand All @@ -22,11 +108,19 @@ jobs:
version: ${{ github.ref_name }}
path: docs/changelog.md

- name: Download artifacts
uses: actions/download-artifact@v4
with:
pattern: nika-*
path: artifacts

- name: Release
uses: softprops/action-gh-release@v1
with:
body: ${{ steps.changelog_reader.outputs.changes }}
name: 'v${{ github.ref_name }}'
files: |
artifacts/**/*.tar.gz

problem_solver_docker:
runs-on: ubuntu-latest
Expand Down
81 changes: 81 additions & 0 deletions .github/workflows/test_conan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Tests (Conan)

on:
pull_request:
branches: [main]
workflow_call:

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
run_tests:
name: Conan build
runs-on: ubuntu-24.04

strategy:
fail-fast: false
matrix:
config:
- { cc: "gcc", cxx: "g++" }

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Restore ccache caches
uses: hendrikmuhs/[email protected]
with:
key: ${{ github.job }}

- name: Conan cache
uses: actions/cache@v4
with:
path: ~/.conan/data
key: conan-${{ runner.os }}-${{ hashFiles('**/conanfile.py') }}

- name: apt cache
uses: actions/cache@v4
with:
path: |
/var/cache/apt/
/var/lib/apt/
key: apt-${{ runner.os }}-${{ github.job }}

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.12"

- name: Set up pipx
run: |
python -m pip install --user pipx
python -m pipx ensurepath

- name: Set up Conan
run: |
pipx install cmake
pipx install conan

- name: Install compilers
run: sudo apt install build-essential ninja-build

- name: Set Conan remote
run: |
conan profile detect
conan remote add ostis-ai https://conan.ostis.net/artifactory/api/conan/ostis-ai-library

- name: Install C++ problem solver dependencies
run: conan install . --build=missing

- name: Build NIKA with tests
id: run_cmake
run: |
cmake --preset release-with-tests-conan
cmake --build --preset release

# TODO(NikitaZotov): test Python problem solver

- name: Run NIKA tests
id: run_tests
run: cd build/Release && ctest -V
44 changes: 0 additions & 44 deletions .github/workflows/tests.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ cmake-build-release
secret.txt
kb.bin-tests
repo
/ConanPresets.json

.venv
*.pyc
Expand All @@ -17,9 +18,8 @@ repo
.env%

*.scs~
ostis
ostis-web-platform
kb.bin
install

__pycache__

Expand Down
14 changes: 3 additions & 11 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
[submodule "subsystems/scl-machine"]
path = subsystems/scl-machine
url = https://github.com/ostis-ai/scl-machine
[submodule "sc-web"]
path = sc-web
url = https://github.com/ostis-ai/sc-web
branch = release/0.8.0
[submodule "problem-solver/sc-machine"]
path = problem-solver/sc-machine
url = https://github.com/ostis-ai/sc-machine
branch = release/0.8.0
[submodule "kb/ims.ostis.kb"]
path = kb/ims.ostis.kb
url = https://github.com/ostis-ai/ims.ostis.kb
[submodule "knowledge-base/ims.ostis.kb"]
path = knowledge-base/ims.ostis.kb
url = https://github.com/ostis-ai/ims.ostis.kb.git
Loading
Loading