From 85188b20741a7360f89cb352b60f3e56be84bceb Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Thu, 9 Jul 2026 14:01:11 +0500 Subject: [PATCH 01/46] ci: #79: add check-for-exceeding-odb-database-support-code-limit workflow --- ...eeding-odb-database-support-code-limit.yml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/check-for-exceeding-odb-database-support-code-limit.yml diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml new file mode 100644 index 0000000..fce4d70 --- /dev/null +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -0,0 +1,47 @@ +# In cases where a project’s source code is closed, the ODB library +# license affects the project’s license. If the limit of 10,000 lines +# of database support code is exceeded, it is no longer possible to use +# the FPL license; in that case, you must either purchase the CPL +# or make the project’s source code open source. + +# More details here: https://www.codesynthesis.com/products/odb/license.xhtml + +# This workflow will succeed if the ODB database support code +# (.ixx, .cxx, .hxx) has not reached the limit, and will fail otherwise. + +name: Check for exceeding the odb database support code limit + +on: + pull_request: + types: [opened, synchronize] + push: + branch: + - master + - feature/* # Added for debugging; Must be remove before merging it to master + +env: + ODB_COMPILER_VERSION: 2.5.0 + ODB_COMPILER_OS: ubuntu24.04 + ODB_COMPILER_DOWNLOAD_PATH: https://www.codesynthesis.com/download/odb/${{ env.ODB_COMPILER_VERSION }}/ubuntu/${{ env.ODB_COMPILER_OS }}/x86_64/odb_-0~ubuntu24.04_amd64.deb + ODB_COMPILER_SETUP_PACKAGE_NAME: odb-${{ env.ODB_COMPILER_VERSION }}-${{ env.ODB_COMPILER_OS }}.deb + +jobs: + docker-build-and-push: + uses: ./.github/workflows/.reusable-docker-build-and-push.yml + + check-limit: + runs-on: ubuntu-24.04 + + steps: + - name: Download odb compiler + run: | + curl -fsSL -o ${{ ODB_COMPILER_SETUP_PACKAGE_NAME }} \ + "https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu24.04/x86_64/odb_2.5.0-0~ubuntu24.04_amd64.deb" + + - name: Install odb compiler + run: | + apt install -y ./${{ ODB_COMPILER_SETUP_PACKAGE_NAME }} + + - name: Check that odb has been installed + run: | + odb --version | grep -q "No such file or directory" && exit 1 || exit 0 \ No newline at end of file From 8a3c6177e95c849cc864eecbac3992d15e67bf2a Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Thu, 9 Jul 2026 14:05:33 +0500 Subject: [PATCH 02/46] ci: #79: fix environment variables format --- ...k-for-exceeding-odb-database-support-code-limit.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index fce4d70..ca112b6 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -22,8 +22,8 @@ on: env: ODB_COMPILER_VERSION: 2.5.0 ODB_COMPILER_OS: ubuntu24.04 - ODB_COMPILER_DOWNLOAD_PATH: https://www.codesynthesis.com/download/odb/${{ env.ODB_COMPILER_VERSION }}/ubuntu/${{ env.ODB_COMPILER_OS }}/x86_64/odb_-0~ubuntu24.04_amd64.deb - ODB_COMPILER_SETUP_PACKAGE_NAME: odb-${{ env.ODB_COMPILER_VERSION }}-${{ env.ODB_COMPILER_OS }}.deb + ODB_COMPILER_DOWNLOAD_PATH: https://www.codesynthesis.com/download/odb/$ODB_COMPILER_VERSION/ubuntu/$ODB_COMPILER_OS/x86_64/odb_-0~ubuntu24.04_amd64.deb + ODB_COMPILER_SETUP_PACKAGE_NAME: odb-$ODB_COMPILER_VERSION-$ODB_COMPILER_OS.deb jobs: docker-build-and-push: @@ -35,12 +35,12 @@ jobs: steps: - name: Download odb compiler run: | - curl -fsSL -o ${{ ODB_COMPILER_SETUP_PACKAGE_NAME }} \ - "https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu24.04/x86_64/odb_2.5.0-0~ubuntu24.04_amd64.deb" + curl -fsSL -o $ODB_COMPILER_SETUP_PACKAGE_NAME \ + "https://www.codesynthesis.com/download/odb/$ODB_COMPILER_VERSION/ubuntu/$ODB_COMPILER_OS/x86_64/odb_$ODB_COMPILER_VERSION-0~$ODB_COMPILER_OS_amd64.deb" - name: Install odb compiler run: | - apt install -y ./${{ ODB_COMPILER_SETUP_PACKAGE_NAME }} + apt install -y ./$ODB_COMPILER_SETUP_PACKAGE_NAME - name: Check that odb has been installed run: | From 6dff9e16e6eb9a5297a439007778458decab5c98 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Thu, 9 Jul 2026 14:07:03 +0500 Subject: [PATCH 03/46] ci: #79: add missing point in name of build image workflow --- ...ker-build-and-push.yml => .reusable-docker-build-and-push.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{reusable-docker-build-and-push.yml => .reusable-docker-build-and-push.yml} (100%) diff --git a/.github/workflows/reusable-docker-build-and-push.yml b/.github/workflows/.reusable-docker-build-and-push.yml similarity index 100% rename from .github/workflows/reusable-docker-build-and-push.yml rename to .github/workflows/.reusable-docker-build-and-push.yml From c68c001067ebd408f6208a5c5cbba3487dffce43 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Thu, 9 Jul 2026 14:08:49 +0500 Subject: [PATCH 04/46] ci: #79: add workflow_call workflow trigger to build image workflow --- .github/workflows/.reusable-docker-build-and-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/.reusable-docker-build-and-push.yml b/.github/workflows/.reusable-docker-build-and-push.yml index 851d641..d225e41 100644 --- a/.github/workflows/.reusable-docker-build-and-push.yml +++ b/.github/workflows/.reusable-docker-build-and-push.yml @@ -7,7 +7,7 @@ name: Publish Docker image # if you build => deploy => run e2e against prod it will build the image 3 times! on: # to allow to wait for a docker image to be published to proceed in another workflow - # workflow_call: + workflow_call: # PR-based activation has been added, as there are no workflows that trigger this. # After adding a workflow with tests, you must revert the change and leave only the `workflow_call`. pull_request: From 71e70fb93040e8645b17f387b76d695a994686ac Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Thu, 9 Jul 2026 14:11:51 +0500 Subject: [PATCH 05/46] ci: #79: rename check-limit step to check-odb-support-database-code-limit; add needs property to check-odb-support-database-code-limit step --- .../check-for-exceeding-odb-database-support-code-limit.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index ca112b6..970443a 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -29,8 +29,9 @@ jobs: docker-build-and-push: uses: ./.github/workflows/.reusable-docker-build-and-push.yml - check-limit: + check-odb-support-database-code-limit: runs-on: ubuntu-24.04 + needs: docker-build-and-push steps: - name: Download odb compiler From 544547b8fe430622a084e278208a316765fd89a4 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Thu, 9 Jul 2026 14:14:40 +0500 Subject: [PATCH 06/46] ci: #79: add quotation marks when using environment variables --- ...heck-for-exceeding-odb-database-support-code-limit.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 970443a..70a7cfc 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -22,8 +22,8 @@ on: env: ODB_COMPILER_VERSION: 2.5.0 ODB_COMPILER_OS: ubuntu24.04 - ODB_COMPILER_DOWNLOAD_PATH: https://www.codesynthesis.com/download/odb/$ODB_COMPILER_VERSION/ubuntu/$ODB_COMPILER_OS/x86_64/odb_-0~ubuntu24.04_amd64.deb - ODB_COMPILER_SETUP_PACKAGE_NAME: odb-$ODB_COMPILER_VERSION-$ODB_COMPILER_OS.deb + ODB_COMPILER_DOWNLOAD_PATH: "https://www.codesynthesis.com/download/odb/$ODB_COMPILER_VERSION/ubuntu/$ODB_COMPILER_OS/x86_64/odb_-0~ubuntu24.04_amd64.deb" + ODB_COMPILER_SETUP_PACKAGE_NAME: "odb-$ODB_COMPILER_VERSION-$ODB_COMPILER_OS.deb" jobs: docker-build-and-push: @@ -36,12 +36,12 @@ jobs: steps: - name: Download odb compiler run: | - curl -fsSL -o $ODB_COMPILER_SETUP_PACKAGE_NAME \ + curl -fsSL -o "$ODB_COMPILER_SETUP_PACKAGE_NAME" \ "https://www.codesynthesis.com/download/odb/$ODB_COMPILER_VERSION/ubuntu/$ODB_COMPILER_OS/x86_64/odb_$ODB_COMPILER_VERSION-0~$ODB_COMPILER_OS_amd64.deb" - name: Install odb compiler run: | - apt install -y ./$ODB_COMPILER_SETUP_PACKAGE_NAME + apt install -y "./$ODB_COMPILER_SETUP_PACKAGE_NAME" - name: Check that odb has been installed run: | From f86210502e26e687b1131bd17878b8941c201adb Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Thu, 9 Jul 2026 14:38:05 +0500 Subject: [PATCH 07/46] ci: #79: add libodb and libodb-pgsql installation steps --- ...eeding-odb-database-support-code-limit.yml | 45 ++++++++++++++----- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 70a7cfc..8ca120a 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -20,29 +20,50 @@ on: - feature/* # Added for debugging; Must be remove before merging it to master env: - ODB_COMPILER_VERSION: 2.5.0 - ODB_COMPILER_OS: ubuntu24.04 - ODB_COMPILER_DOWNLOAD_PATH: "https://www.codesynthesis.com/download/odb/$ODB_COMPILER_VERSION/ubuntu/$ODB_COMPILER_OS/x86_64/odb_-0~ubuntu24.04_amd64.deb" - ODB_COMPILER_SETUP_PACKAGE_NAME: "odb-$ODB_COMPILER_VERSION-$ODB_COMPILER_OS.deb" + ODB_VERSION: 2.5.0 + ODB_OS_BUILD: ubuntu24.04 + ODB_COMPILER_DOWNLOAD_PATH: "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/odb_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" + LIBODB_DOWNLOAD_PATH: "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/libodb-dev_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" + LIBODB-PGSQL_DOWNLOAD_PATH: "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/libodb-pgsql-dev_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" + ODB_COMPILER_SETUP_PACKAGE_NAME: "odb-${ODB_VERSION}-${ODB_OS_BUILD}.deb" + LIBODB_SETUP_PACKAGE_NAME: "libodb-dev-${ODB_VERSION}-${ODB_OS_BUILD}.deb" + LIBODB-PGSQL_SETUP_PACKAGE_NAME: "libodb-pgsql-dev-${ODB_VERSION}-${ODB_OS_BUILD}.deb" jobs: docker-build-and-push: uses: ./.github/workflows/.reusable-docker-build-and-push.yml - check-odb-support-database-code-limit: + verify-that-database-support-code-limit-has-not-been-exceeded: runs-on: ubuntu-24.04 needs: docker-build-and-push steps: - - name: Download odb compiler + - name: Download and install odb compiler run: | - curl -fsSL -o "$ODB_COMPILER_SETUP_PACKAGE_NAME" \ - "https://www.codesynthesis.com/download/odb/$ODB_COMPILER_VERSION/ubuntu/$ODB_COMPILER_OS/x86_64/odb_$ODB_COMPILER_VERSION-0~$ODB_COMPILER_OS_amd64.deb" + curl -fsSL -o "${ODB_COMPILER_SETUP_PACKAGE_NAME}" "${ODB_COMPILER_DOWNLOAD_PATH}" + apt install -y "./${ODB_COMPILER_SETUP_PACKAGE_NAME}" - - name: Install odb compiler + - name: Check that odb compiler has been installed run: | - apt install -y "./$ODB_COMPILER_SETUP_PACKAGE_NAME" + odb --version | grep -q "No such file or directory" && exit 1 - - name: Check that odb has been installed + - name: Download and install libodb package run: | - odb --version | grep -q "No such file or directory" && exit 1 || exit 0 \ No newline at end of file + curl -fsSL -o "${LIBODB_SETUP_PACKAGE_NAME}" "${LIBODB_DOWNLOAD_PATH}" + apt install -y "./${LIBODB_SETUP_PACKAGE_NAME}" + apt policy libodb-dev | grep -q "Installed: ${ODB_VERSION}-0~${ODB_OS_BUILD}" && exit 0 || exit 1 + + - name: Download and install libodb-pgsql package + run: | + curl -fsSL -o "${LIBODB-PGSQL_SETUP_PACKAGE_NAME}" "${LIBODB-PGSQL_DOWNLOAD_PATH}" + apt install -y "./${LIBODB-PGSQL_SETUP_PACKAGE_NAME}" + apt policy libodb-pgsql-dev | grep -q "Installed: ${ODB_VERSION}-0~${ODB_OS_BUILD}" && exit 0 || exit 1 + + # - name: Verify that database support code limit has not been exceeded + # run: | + # odb \ + # --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ + # -I /usr/lib/x86_64-linux-gnu/libodb-2.5.so \ + # -I /usr/lib/x86_64-linux-gnu/libodb-pgsql-2.5.so \ + # ./src/core/to-do.h 2>&1 | grep "total:" | sed 's/[^0-9]*//g' + From 3d078bd575b23ff946755dacd8b73f86520c2c87 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Thu, 9 Jul 2026 15:26:05 +0500 Subject: [PATCH 08/46] ci: #79: remove redundant environment variables --- ...eeding-odb-database-support-code-limit.yml | 41 ++++++++----------- 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 8ca120a..f66b8a5 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -22,44 +22,37 @@ on: env: ODB_VERSION: 2.5.0 ODB_OS_BUILD: ubuntu24.04 - ODB_COMPILER_DOWNLOAD_PATH: "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/odb_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" - LIBODB_DOWNLOAD_PATH: "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/libodb-dev_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" - LIBODB-PGSQL_DOWNLOAD_PATH: "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/libodb-pgsql-dev_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" - ODB_COMPILER_SETUP_PACKAGE_NAME: "odb-${ODB_VERSION}-${ODB_OS_BUILD}.deb" - LIBODB_SETUP_PACKAGE_NAME: "libodb-dev-${ODB_VERSION}-${ODB_OS_BUILD}.deb" - LIBODB-PGSQL_SETUP_PACKAGE_NAME: "libodb-pgsql-dev-${ODB_VERSION}-${ODB_OS_BUILD}.deb" - jobs: - docker-build-and-push: - uses: ./.github/workflows/.reusable-docker-build-and-push.yml - verify-that-database-support-code-limit-has-not-been-exceeded: runs-on: ubuntu-24.04 - needs: docker-build-and-push steps: + - name: Checkout the repo + uses: actions/checkout@v4 + - name: Download and install odb compiler run: | - curl -fsSL -o "${ODB_COMPILER_SETUP_PACKAGE_NAME}" "${ODB_COMPILER_DOWNLOAD_PATH}" - apt install -y "./${ODB_COMPILER_SETUP_PACKAGE_NAME}" + curl -fsSL -o odb.deb "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/odb_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" + sudo apt-get install -y ./odb.deb - name: Check that odb compiler has been installed run: | + odb --version odb --version | grep -q "No such file or directory" && exit 1 - - name: Download and install libodb package - run: | - curl -fsSL -o "${LIBODB_SETUP_PACKAGE_NAME}" "${LIBODB_DOWNLOAD_PATH}" - apt install -y "./${LIBODB_SETUP_PACKAGE_NAME}" - apt policy libodb-dev | grep -q "Installed: ${ODB_VERSION}-0~${ODB_OS_BUILD}" && exit 0 || exit 1 + # - name: Download and install libodb package + # run: | + # curl -fsSL -o libodb-dev.deb "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/libodb-dev_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" + # sudo apt-get install -y ./libodb-dev.deb + # sudo apt-get policy libodb-dev | grep -q "Installed: ${ODB_VERSION}-0~${ODB_OS_BUILD}" && exit 0 || exit 1 - - name: Download and install libodb-pgsql package - run: | - curl -fsSL -o "${LIBODB-PGSQL_SETUP_PACKAGE_NAME}" "${LIBODB-PGSQL_DOWNLOAD_PATH}" - apt install -y "./${LIBODB-PGSQL_SETUP_PACKAGE_NAME}" - apt policy libodb-pgsql-dev | grep -q "Installed: ${ODB_VERSION}-0~${ODB_OS_BUILD}" && exit 0 || exit 1 + # - name: Download and install libodb-pgsql package + # run: | + # curl -fsSL -o libodb-pgsql-dev.deb "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/libodb-pgsql-dev_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" + # sudo apt-get install -y ./libodb-pgsql-dev.deb + # sudo apt-get policy libodb-pgsql-dev | grep -q "Installed: ${ODB_VERSION}-0~${ODB_OS_BUILD}" && exit 0 || exit 1 - # - name: Verify that database support code limit has not been exceeded + # - name: Check the limit # run: | # odb \ # --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ From 452bfc47bb9711f13ca14d5dd5472ac650f47971 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 09:36:06 +0500 Subject: [PATCH 09/46] ci: #79: fix condition uncorrect exit status error --- .../check-for-exceeding-odb-database-support-code-limit.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index f66b8a5..fb41791 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -37,8 +37,7 @@ jobs: - name: Check that odb compiler has been installed run: | - odb --version - odb --version | grep -q "No such file or directory" && exit 1 + odb --version | grep -q "No such file or directory" && exit 1 || exit 0 # - name: Download and install libodb package # run: | From b59dd59d914e5b7b618b284e5a2e53b3f959e52c Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 09:42:51 +0500 Subject: [PATCH 10/46] ci: #79: add conan instalation step --- ...-exceeding-odb-database-support-code-limit.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index fb41791..886f503 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -34,11 +34,22 @@ jobs: run: | curl -fsSL -o odb.deb "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/odb_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" sudo apt-get install -y ./odb.deb + odb --version | grep -q "No such file or directory" && exit 1 || exit 0 - - name: Check that odb compiler has been installed + - name: Install Conan run: | - odb --version | grep -q "No such file or directory" && exit 1 || exit 0 + pip install Conan + conan --version | grep -q "Conan version" && exit 1 || exit 0 + - name: Download and build libodb and libdb-pgsql via Conan + run: | + conan install \ + --requires=libodb/2.5.0 \ + --requires=libodb-pgsql/2.5.0 \ + --build=missing \ + --deployer=full_deploy \ + --output-folder=.odb-deps + # - name: Download and install libodb package # run: | # curl -fsSL -o libodb-dev.deb "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/libodb-dev_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" From d75a9b9dfdafba4ec44c74a9fd6d777df750044b Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 09:45:39 +0500 Subject: [PATCH 11/46] ci: #79: fix error for conan version grep condition --- .../check-for-exceeding-odb-database-support-code-limit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 886f503..da08bcb 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -39,7 +39,7 @@ jobs: - name: Install Conan run: | pip install Conan - conan --version | grep -q "Conan version" && exit 1 || exit 0 + conan --version | grep -q "Conan version" && exit 0 || exit 1 - name: Download and build libodb and libdb-pgsql via Conan run: | From 469c6db1237abdb60311b38c245339a07522f89c Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 09:47:54 +0500 Subject: [PATCH 12/46] ci: #79: add conan default profile generation step --- ...exceeding-odb-database-support-code-limit.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index da08bcb..d348d32 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -41,14 +41,16 @@ jobs: pip install Conan conan --version | grep -q "Conan version" && exit 0 || exit 1 + - name: Generate Conan default profile + run: conan profile detect + - name: Download and build libodb and libdb-pgsql via Conan - run: | - conan install \ - --requires=libodb/2.5.0 \ - --requires=libodb-pgsql/2.5.0 \ - --build=missing \ - --deployer=full_deploy \ - --output-folder=.odb-deps + run: conan install \ + --requires=libodb/2.5.0 \ + --requires=libodb-pgsql/2.5.0 \ + --build=missing \ + --deployer=full_deploy \ + --output-folder=.odb-deps # - name: Download and install libodb package # run: | From 66eb1348c4842d4c5c92f15274358be8da178a46 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 09:51:55 +0500 Subject: [PATCH 13/46] ci: #79: add setup local reciepes index step --- ...check-for-exceeding-odb-database-support-code-limit.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index d348d32..119d16c 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -44,10 +44,11 @@ jobs: - name: Generate Conan default profile run: conan profile detect + - name: Setup local recipes index for Conan + run: conan remote add local-recipes ./deps --type=local-recipes-index + - name: Download and build libodb and libdb-pgsql via Conan - run: conan install \ - --requires=libodb/2.5.0 \ - --requires=libodb-pgsql/2.5.0 \ + run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 \ --build=missing \ --deployer=full_deploy \ --output-folder=.odb-deps From e2188f8ee0c16d9bf5d1a86b912152d08c819ce7 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 09:59:58 +0500 Subject: [PATCH 14/46] ci: #79: fix error for line breaks --- .../check-for-exceeding-odb-database-support-code-limit.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 119d16c..1af845e 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -48,10 +48,7 @@ jobs: run: conan remote add local-recipes ./deps --type=local-recipes-index - name: Download and build libodb and libdb-pgsql via Conan - run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 \ - --build=missing \ - --deployer=full_deploy \ - --output-folder=.odb-deps + run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 --build=missing --deployer=full_deploy --output-folder=.odb-deps # - name: Download and install libodb package # run: | From e8b01470895365475eecc6c08e4fcfa2bd52cbd8 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:02:51 +0500 Subject: [PATCH 15/46] chore: #79: add missing class import for libodb reciep --- deps/recipes/libodb/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/deps/recipes/libodb/all/conanfile.py b/deps/recipes/libodb/all/conanfile.py index 317ec35..02ebbea 100644 --- a/deps/recipes/libodb/all/conanfile.py +++ b/deps/recipes/libodb/all/conanfile.py @@ -3,6 +3,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import get, save, rmdir +from conan.errors import ConanInvalidConfiguration class LibOdbConan(ConanFile): From 2828346b7db38618a3371173459e23204f974c23 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:05:46 +0500 Subject: [PATCH 16/46] ci: #79: change workflow os from ubuntu24.04 to ubuntu22.02 so that fix error incompatibility libodb and libodb-pgsql with ubuntu24.04 --- .../check-for-exceeding-odb-database-support-code-limit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 1af845e..4cd8833 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -24,7 +24,7 @@ env: ODB_OS_BUILD: ubuntu24.04 jobs: verify-that-database-support-code-limit-has-not-been-exceeded: - runs-on: ubuntu-24.04 + runs-on: ubuntu-22.04 steps: - name: Checkout the repo From 7cef069a859130d50ee09a10351e857c013410fd Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:13:23 +0500 Subject: [PATCH 17/46] ci: #79: add verify odb support database code step --- ...eeding-odb-database-support-code-limit.yml | 26 +++++-------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 4cd8833..53093ef 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -49,24 +49,12 @@ jobs: - name: Download and build libodb and libdb-pgsql via Conan run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 --build=missing --deployer=full_deploy --output-folder=.odb-deps - - # - name: Download and install libodb package - # run: | - # curl -fsSL -o libodb-dev.deb "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/libodb-dev_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" - # sudo apt-get install -y ./libodb-dev.deb - # sudo apt-get policy libodb-dev | grep -q "Installed: ${ODB_VERSION}-0~${ODB_OS_BUILD}" && exit 0 || exit 1 - # - name: Download and install libodb-pgsql package - # run: | - # curl -fsSL -o libodb-pgsql-dev.deb "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/libodb-pgsql-dev_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" - # sudo apt-get install -y ./libodb-pgsql-dev.deb - # sudo apt-get policy libodb-pgsql-dev | grep -q "Installed: ${ODB_VERSION}-0~${ODB_OS_BUILD}" && exit 0 || exit 1 - - # - name: Check the limit - # run: | - # odb \ - # --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ - # -I /usr/lib/x86_64-linux-gnu/libodb-2.5.so \ - # -I /usr/lib/x86_64-linux-gnu/libodb-pgsql-2.5.so \ - # ./src/core/to-do.h 2>&1 | grep "total:" | sed 's/[^0-9]*//g' + - name: Check the limit + run: | + odb \ + --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ + -I ./.odb-deps/host/libodb/2.5.0/Debug/x86_64/include \ + -I ./.odb-deps/host/libodb-pgsql/2.5.0/Debug/x86_64/include \ + ./src/core/to-do.h 2>&1 | grep "total:" | sed 's/[^0-9]*//g' From 05d605c5a8576ad9b1581f4ffa8b3ed3bc18ebec Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:22:02 +0500 Subject: [PATCH 18/46] chore: #79: rollback changes for libodb reciepe --- deps/recipes/libodb/all/conanfile.py | 1 - 1 file changed, 1 deletion(-) diff --git a/deps/recipes/libodb/all/conanfile.py b/deps/recipes/libodb/all/conanfile.py index 02ebbea..317ec35 100644 --- a/deps/recipes/libodb/all/conanfile.py +++ b/deps/recipes/libodb/all/conanfile.py @@ -3,7 +3,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import get, save, rmdir -from conan.errors import ConanInvalidConfiguration class LibOdbConan(ConanFile): From 52ac813d052c16abd9809baec072a0404e04089e Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:24:52 +0500 Subject: [PATCH 19/46] ci: #79: format workflow; remove debugging trigger action and environment variables --- ...-exceeding-odb-database-support-code-limit.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 53093ef..80b743f 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -17,11 +17,7 @@ on: push: branch: - master - - feature/* # Added for debugging; Must be remove before merging it to master -env: - ODB_VERSION: 2.5.0 - ODB_OS_BUILD: ubuntu24.04 jobs: verify-that-database-support-code-limit-has-not-been-exceeded: runs-on: ubuntu-22.04 @@ -32,8 +28,8 @@ jobs: - name: Download and install odb compiler run: | - curl -fsSL -o odb.deb "https://www.codesynthesis.com/download/odb/${ODB_VERSION}/ubuntu/${ODB_OS_BUILD}/x86_64/odb_${ODB_VERSION}-0~${ODB_OS_BUILD}_amd64.deb" - sudo apt-get install -y ./odb.deb + curl -fsSL -o odb.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/odb_2.5.0-0~ubuntu22.04_amd64.deb + apt-get install -y ./odb.deb odb --version | grep -q "No such file or directory" && exit 1 || exit 0 - name: Install Conan @@ -53,8 +49,11 @@ jobs: - name: Check the limit run: | odb \ - --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ + --show-sloc \ + --sloc-limit 10000 \ + -d pgsql \ + --std c++20 \ -I ./.odb-deps/host/libodb/2.5.0/Debug/x86_64/include \ -I ./.odb-deps/host/libodb-pgsql/2.5.0/Debug/x86_64/include \ - ./src/core/to-do.h 2>&1 | grep "total:" | sed 's/[^0-9]*//g' + ./src/core/to-do.h From 528e389c784e7b785f10acb736e466fc58002ff2 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:25:41 +0500 Subject: [PATCH 20/46] fix: #79: fix mount volume path error --- .devcontainer/devcontainer.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index a254b35..54b28a3 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -24,10 +24,10 @@ "mounts": [ // This mounts increase future building on devcontainer in case any reseting of container volumes // Mount caching of build folder - "source=dev-build-cache,target=${containerWorkspaceFolder}/build,type=volume", + "source=dev-build-cache,target=${containerWorkspaceFolder}/build,type=volume", // Mount caching of conan dependencies builds - "source=dev-conan-cache,target=~/.conan2,type=volume" - ], + "source=dev-conan-cache,target=/root/.conan2,type=volume" + ], "customizations": { "vscode": { "extensions": [ From 686ec84207cd4ce2faa76dee083c0e84ef373a9f Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:26:25 +0500 Subject: [PATCH 21/46] chore: #79: add devcontainer-lock.json for devcontainer features version lock --- .devcontainer/devcontainer-lock.json | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .devcontainer/devcontainer-lock.json diff --git a/.devcontainer/devcontainer-lock.json b/.devcontainer/devcontainer-lock.json new file mode 100644 index 0000000..c8abae3 --- /dev/null +++ b/.devcontainer/devcontainer-lock.json @@ -0,0 +1,9 @@ +{ + "features": { + "ghcr.io/devcontainers/features/docker-outside-of-docker:1": { + "version": "1.10.0", + "resolved": "ghcr.io/devcontainers/features/docker-outside-of-docker@sha256:c2c2cf829505ead8e4892c88c31b6594ae94a2bbb209e16e1fac456c1a3a624e", + "integrity": "sha256:c2c2cf829505ead8e4892c88c31b6594ae94a2bbb209e16e1fac456c1a3a624e" + } + } +} \ No newline at end of file From 65db2efe6b62bd19899ade0bebe2823154ffe2d3 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:27:46 +0500 Subject: [PATCH 22/46] ci: #79: rollback removing sudo from odb compiler step --- .../check-for-exceeding-odb-database-support-code-limit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 80b743f..05a7b2a 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -29,7 +29,7 @@ jobs: - name: Download and install odb compiler run: | curl -fsSL -o odb.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/odb_2.5.0-0~ubuntu22.04_amd64.deb - apt-get install -y ./odb.deb + sudo apt-get install -y ./odb.deb odb --version | grep -q "No such file or directory" && exit 1 || exit 0 - name: Install Conan From d9e08291e40d545a5592d869a92c92dee3a110af Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:34:06 +0500 Subject: [PATCH 23/46] ci: #79: formatting corrections --- ...for-exceeding-odb-database-support-code-limit.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 05a7b2a..2d2e0ee 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -48,12 +48,8 @@ jobs: - name: Check the limit run: | - odb \ - --show-sloc \ - --sloc-limit 10000 \ - -d pgsql \ - --std c++20 \ - -I ./.odb-deps/host/libodb/2.5.0/Debug/x86_64/include \ - -I ./.odb-deps/host/libodb-pgsql/2.5.0/Debug/x86_64/include \ - ./src/core/to-do.h + odb --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ + -I ./.odb-deps/host/libodb/2.5.0/Debug/x86_64/include \ + -I ./.odb-deps/host/libodb-pgsql/2.5.0/Debug/x86_64/include \ + ./src/core/to-do.h From 2d0331443130f43eebb929b7a6dcc6ac8db8c17f Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:41:20 +0500 Subject: [PATCH 24/46] ci: #79: update build type in libraries include path --- .../check-for-exceeding-odb-database-support-code-limit.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 2d2e0ee..65d1e7e 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -49,7 +49,7 @@ jobs: - name: Check the limit run: | odb --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ - -I ./.odb-deps/host/libodb/2.5.0/Debug/x86_64/include \ - -I ./.odb-deps/host/libodb-pgsql/2.5.0/Debug/x86_64/include \ + -I ./.odb-deps/host/libodb/2.5.0/Release/x86_64/include \ + -I ./.odb-deps/host/libodb-pgsql/2.5.0/Release/x86_64/include \ ./src/core/to-do.h From 4de42a334c83ff715f32cab7effa5a7b7d23dcf3 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:51:27 +0500 Subject: [PATCH 25/46] ci: #79: formatting corrections --- ...eck-for-exceeding-odb-database-support-code-limit.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 65d1e7e..818c3a6 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -48,8 +48,9 @@ jobs: - name: Check the limit run: | - odb --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ - -I ./.odb-deps/host/libodb/2.5.0/Release/x86_64/include \ - -I ./.odb-deps/host/libodb-pgsql/2.5.0/Release/x86_64/include \ - ./src/core/to-do.h + odb \ + --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ + -I ./.odb-deps/host/libodb/2.5.0/Debug/x86_64/include \ + -I ./.odb-deps/host/libodb-pgsql/2.5.0/Debug/x86_64/include \ + ./src/core/to-do.h From da0ec3d1459eb281eb99e028c040136f233d5a68 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:52:21 +0500 Subject: [PATCH 26/46] ci: #79: add missing part to libraries include paths --- .../check-for-exceeding-odb-database-support-code-limit.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 818c3a6..e1439f7 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -50,7 +50,7 @@ jobs: run: | odb \ --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ - -I ./.odb-deps/host/libodb/2.5.0/Debug/x86_64/include \ - -I ./.odb-deps/host/libodb-pgsql/2.5.0/Debug/x86_64/include \ + -I ./.odb-deps/full_deploy/host/libodb/2.5.0/Debug/x86_64/include \ + -I ./.odb-deps/full_deploy/host/libodb-pgsql/2.5.0/Debug/x86_64/include \ ./src/core/to-do.h From c28786a5d9014475e367a747c397079479bfbf09 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:57:30 +0500 Subject: [PATCH 27/46] ci: #79: add debug step --- .../check-for-exceeding-odb-database-support-code-limit.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index e1439f7..275683f 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -46,6 +46,11 @@ jobs: - name: Download and build libodb and libdb-pgsql via Conan run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 --build=missing --deployer=full_deploy --output-folder=.odb-deps + - name: Debugging + run: | + cd ./odb-deps/full_deploy/host/libodb/2.5.0 + ls -la + - name: Check the limit run: | odb \ From a7b9f1e1dff5f49e3be0030246811fa94f3787a6 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:03:28 +0500 Subject: [PATCH 28/46] ci: #79: fix odb-deps folder path; formatting changes --- ...eck-for-exceeding-odb-database-support-code-limit.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 275683f..2840c23 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -44,11 +44,16 @@ jobs: run: conan remote add local-recipes ./deps --type=local-recipes-index - name: Download and build libodb and libdb-pgsql via Conan - run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 --build=missing --deployer=full_deploy --output-folder=.odb-deps + run: conan install \ + --requires=libodb/2.5.0 \ + --requires=libodb-pgsql/2.5.0 \ + --build=missing \ + --deployer=full_deploy \ + --output-folder=.odb-deps - name: Debugging run: | - cd ./odb-deps/full_deploy/host/libodb/2.5.0 + cd ./.odb-deps/full_deploy/host/libodb/2.5.0 ls -la - name: Check the limit From 3d8e268b27403167d3ccaf5e2359a3f520914169 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:04:22 +0500 Subject: [PATCH 29/46] ci: #79: formatting corrections --- .../check-for-exceeding-odb-database-support-code-limit.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 2840c23..be63099 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -44,9 +44,7 @@ jobs: run: conan remote add local-recipes ./deps --type=local-recipes-index - name: Download and build libodb and libdb-pgsql via Conan - run: conan install \ - --requires=libodb/2.5.0 \ - --requires=libodb-pgsql/2.5.0 \ + run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 \ --build=missing \ --deployer=full_deploy \ --output-folder=.odb-deps From f271bce3b7d4342914e0bfd068e64bda9e933203 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:05:08 +0500 Subject: [PATCH 30/46] ci: #79: formatting corrections --- .../check-for-exceeding-odb-database-support-code-limit.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index be63099..6052e64 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -44,10 +44,7 @@ jobs: run: conan remote add local-recipes ./deps --type=local-recipes-index - name: Download and build libodb and libdb-pgsql via Conan - run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 \ - --build=missing \ - --deployer=full_deploy \ - --output-folder=.odb-deps + run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 --build=missing --deployer=full_deploy --output-folder=.odb-deps - name: Debugging run: | From 368b022471e960d54d0210fb998d59f732f3d73d Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:11:14 +0500 Subject: [PATCH 31/46] ci: #79: update libraries include path --- .../check-for-exceeding-odb-database-support-code-limit.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 6052e64..695d274 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -48,14 +48,14 @@ jobs: - name: Debugging run: | - cd ./.odb-deps/full_deploy/host/libodb/2.5.0 + cd ./.odb-deps/full_deploy/host/libodb/2.5.0/Release ls -la - name: Check the limit run: | odb \ --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ - -I ./.odb-deps/full_deploy/host/libodb/2.5.0/Debug/x86_64/include \ - -I ./.odb-deps/full_deploy/host/libodb-pgsql/2.5.0/Debug/x86_64/include \ + -I ./.odb-deps/full_deploy/host/libodb/2.5.0/Release/x86_64/include \ + -I ./.odb-deps/full_deploy/host/libodb-pgsql/2.5.0/Release/x86_64/include \ ./src/core/to-do.h From 8a7ac0fe521ff028b3bd8e1dfa80c918cc933286 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:18:29 +0500 Subject: [PATCH 32/46] ci: #79: change target models path to regex --- .../check-for-exceeding-odb-database-support-code-limit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 695d274..7850468 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -57,5 +57,5 @@ jobs: --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ -I ./.odb-deps/full_deploy/host/libodb/2.5.0/Release/x86_64/include \ -I ./.odb-deps/full_deploy/host/libodb-pgsql/2.5.0/Release/x86_64/include \ - ./src/core/to-do.h + ./src/core/*.h From 1f19b6a6a9d6959804c796cda3f2f3a1b09af645 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:19:44 +0500 Subject: [PATCH 33/46] ci: #79: change target libraries include path to find method --- .../check-for-exceeding-odb-database-support-code-limit.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 7850468..79c4d1e 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -55,7 +55,7 @@ jobs: run: | odb \ --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ - -I ./.odb-deps/full_deploy/host/libodb/2.5.0/Release/x86_64/include \ - -I ./.odb-deps/full_deploy/host/libodb-pgsql/2.5.0/Release/x86_64/include \ + -I $(find ./.odb-deps/full_deploy/host/libodb/ -type d -name include) \ + -I $(find ./.odb-deps/full_deploy/host/libodb-pgsql/ -type d -name include) \ ./src/core/*.h From 9a2a6e91357fccc8328b94257f5c43e99527dadc Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:24:16 +0500 Subject: [PATCH 34/46] ci: #79: change limit to 100 lines for test --- .../check-for-exceeding-odb-database-support-code-limit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 79c4d1e..641a1e7 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -54,7 +54,7 @@ jobs: - name: Check the limit run: | odb \ - --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ + --show-sloc --sloc-limit 100 -d pgsql --std c++20 \ -I $(find ./.odb-deps/full_deploy/host/libodb/ -type d -name include) \ -I $(find ./.odb-deps/full_deploy/host/libodb-pgsql/ -type d -name include) \ ./src/core/*.h From ac416630da9cb96343ed1a6c680ade8cca9f0c84 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:54:57 +0500 Subject: [PATCH 35/46] ci: #79: change odb installation way to using .deb packages --- ...eeding-odb-database-support-code-limit.yml | 52 ++++++++++++++----- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 641a1e7..6837782 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -32,29 +32,53 @@ jobs: sudo apt-get install -y ./odb.deb odb --version | grep -q "No such file or directory" && exit 1 || exit 0 - - name: Install Conan + - name: Download and install libodb library run: | - pip install Conan - conan --version | grep -q "Conan version" && exit 0 || exit 1 + curl -fsSL -o libodb.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb_2.5.0-0~ubuntu22.04_amd64.deb + sudo apt-get install -y ./libodb.deb + apt policy libodb | grep -q "Unable to locate package" && exit 1 || exit 0 - - name: Generate Conan default profile - run: conan profile detect - - - name: Setup local recipes index for Conan - run: conan remote add local-recipes ./deps --type=local-recipes-index + - name: Download and install libodb-dev library + run: | + curl -fsSL -o libodb-dev.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-dev_2.5.0-0~ubuntu22.04_amd64.deb + sudo apt-get install -y ./libodb-dev.deb + apt policy libodb-dev | grep -q "Unable to locate package" && exit 1 || exit 0 - - name: Download and build libodb and libdb-pgsql via Conan - run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 --build=missing --deployer=full_deploy --output-folder=.odb-deps + - name: Download and install libodb-pgsql library + run: | + curl -fsSL -o libodb-pgsql.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-pgsql_2.5.0-0~ubuntu22.04_amd64.deb + sudo apt-get install -y ./libodb-pgsql.deb + apt policy libodb-pgsql | grep -q "Unable to locate package" && exit 1 || exit 0 - - name: Debugging + - name: Download and install libodb-pgsql-dev library + run: | + curl -fsSL -o libodb-pgsql-dev.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-pgsql-dev_2.5.0-0~ubuntu22.04_amd64.deb + sudo apt-get install -y ./libodb-pgsql-dev.deb + apt policy libodb-pgsql-dev | grep -q "Unable to locate package" && exit 1 || exit 0 + + - name: Install libpq5 run: | - cd ./.odb-deps/full_deploy/host/libodb/2.5.0/Release - ls -la + sudo apt-get install -y libpq5 + apt policy libpq5 | grep -q "Unable to locate package" && exit 1 || exit 0 + + # - name: Install Conan + # run: | + # pip install Conan + # conan --version | grep -q "Conan version" && exit 0 || exit 1 + + # - name: Generate Conan default profile + # run: conan profile detect + + # - name: Setup local recipes index for Conan + # run: conan remote add local-recipes ./deps --type=local-recipes-index + + # - name: Download and build libodb and libdb-pgsql via Conan + # run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 --build=missing --deployer=full_deploy --output-folder=.odb-deps - name: Check the limit run: | odb \ - --show-sloc --sloc-limit 100 -d pgsql --std c++20 \ + --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ -I $(find ./.odb-deps/full_deploy/host/libodb/ -type d -name include) \ -I $(find ./.odb-deps/full_deploy/host/libodb-pgsql/ -type d -name include) \ ./src/core/*.h From 08753543c3ac4a2baf5f54c1c3b9c5fb6831efde Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:57:39 +0500 Subject: [PATCH 36/46] ci: #79: remove redundant code --- ...exceeding-odb-database-support-code-limit.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 6837782..ed839a3 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -60,26 +60,10 @@ jobs: run: | sudo apt-get install -y libpq5 apt policy libpq5 | grep -q "Unable to locate package" && exit 1 || exit 0 - - # - name: Install Conan - # run: | - # pip install Conan - # conan --version | grep -q "Conan version" && exit 0 || exit 1 - - # - name: Generate Conan default profile - # run: conan profile detect - - # - name: Setup local recipes index for Conan - # run: conan remote add local-recipes ./deps --type=local-recipes-index - - # - name: Download and build libodb and libdb-pgsql via Conan - # run: conan install --requires=libodb/2.5.0 --requires=libodb-pgsql/2.5.0 --build=missing --deployer=full_deploy --output-folder=.odb-deps - name: Check the limit run: | odb \ --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ - -I $(find ./.odb-deps/full_deploy/host/libodb/ -type d -name include) \ - -I $(find ./.odb-deps/full_deploy/host/libodb-pgsql/ -type d -name include) \ ./src/core/*.h From 6a3da79c253492bd195e05b199b02c3979e19b28 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 11:58:59 +0500 Subject: [PATCH 37/46] ci: #79: remove libpq5 installation step for test --- ...heck-for-exceeding-odb-database-support-code-limit.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index ed839a3..891e5d5 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -56,10 +56,10 @@ jobs: sudo apt-get install -y ./libodb-pgsql-dev.deb apt policy libodb-pgsql-dev | grep -q "Unable to locate package" && exit 1 || exit 0 - - name: Install libpq5 - run: | - sudo apt-get install -y libpq5 - apt policy libpq5 | grep -q "Unable to locate package" && exit 1 || exit 0 + # - name: Install libpq5 + # run: | + # sudo apt-get install -y libpq5 + # apt policy libpq5 | grep -q "Unable to locate package" && exit 1 || exit 0 - name: Check the limit run: | From e02189c06a3a25e5ac4dcf753d87798acaa5150d Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 12:00:15 +0500 Subject: [PATCH 38/46] ci: #79: test commit --- ...eeding-odb-database-support-code-limit.yml | 20 ++++----- src/core/to-do2.h | 41 +++++++++++++++++++ 2 files changed, 51 insertions(+), 10 deletions(-) create mode 100644 src/core/to-do2.h diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 891e5d5..146245f 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -44,17 +44,17 @@ jobs: sudo apt-get install -y ./libodb-dev.deb apt policy libodb-dev | grep -q "Unable to locate package" && exit 1 || exit 0 - - name: Download and install libodb-pgsql library - run: | - curl -fsSL -o libodb-pgsql.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-pgsql_2.5.0-0~ubuntu22.04_amd64.deb - sudo apt-get install -y ./libodb-pgsql.deb - apt policy libodb-pgsql | grep -q "Unable to locate package" && exit 1 || exit 0 + # - name: Download and install libodb-pgsql library + # run: | + # curl -fsSL -o libodb-pgsql.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-pgsql_2.5.0-0~ubuntu22.04_amd64.deb + # sudo apt-get install -y ./libodb-pgsql.deb + # apt policy libodb-pgsql | grep -q "Unable to locate package" && exit 1 || exit 0 - - name: Download and install libodb-pgsql-dev library - run: | - curl -fsSL -o libodb-pgsql-dev.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-pgsql-dev_2.5.0-0~ubuntu22.04_amd64.deb - sudo apt-get install -y ./libodb-pgsql-dev.deb - apt policy libodb-pgsql-dev | grep -q "Unable to locate package" && exit 1 || exit 0 + # - name: Download and install libodb-pgsql-dev library + # run: | + # curl -fsSL -o libodb-pgsql-dev.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-pgsql-dev_2.5.0-0~ubuntu22.04_amd64.deb + # sudo apt-get install -y ./libodb-pgsql-dev.deb + # apt policy libodb-pgsql-dev | grep -q "Unable to locate package" && exit 1 || exit 0 # - name: Install libpq5 # run: | diff --git a/src/core/to-do2.h b/src/core/to-do2.h new file mode 100644 index 0000000..2631294 --- /dev/null +++ b/src/core/to-do2.h @@ -0,0 +1,41 @@ +#pragma once + +#include +#include +#include +#include + +#pragma db object table("todo") +class ToDo +{ +public: + ToDo() = default; + ToDo(const std::string& name, std::time_t createdAtUtc) + : name_(name), + createdAtUtc_(createdAtUtc), + deletedAtUtc_() + {} + + std::uint64_t id() const { return id_; } + const std::string& name() const { return name_; } + std::time_t createdAtUtc() const { return createdAtUtc_; } + const odb::nullable& deletedAtUtc() const { return deletedAtUtc_; } + + void name(const std::string& n) { name_ = n; } + void createdAtUtc(std::time_t t) { createdAtUtc_ = t; } + void deletedAtUtc(std::time_t t) { deletedAtUtc_ = t; } + +private: + friend class odb::access; + +#pragma db id auto + std::uint64_t id_; + + std::string name_; +#pragma db type("BIGINT") + std::time_t createdAtUtc_; + +#pragma db null +#pragma db type("BIGINT") + odb::nullable deletedAtUtc_; +}; \ No newline at end of file From 10f2183500b39d5730428bdf639551cb5c3af0e9 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 13:21:00 +0500 Subject: [PATCH 39/46] ci: #79: remove redundant code --- ...eeding-odb-database-support-code-limit.yml | 17 -------- src/core/to-do2.h | 41 ------------------- 2 files changed, 58 deletions(-) delete mode 100644 src/core/to-do2.h diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 146245f..6ef354f 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -43,23 +43,6 @@ jobs: curl -fsSL -o libodb-dev.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-dev_2.5.0-0~ubuntu22.04_amd64.deb sudo apt-get install -y ./libodb-dev.deb apt policy libodb-dev | grep -q "Unable to locate package" && exit 1 || exit 0 - - # - name: Download and install libodb-pgsql library - # run: | - # curl -fsSL -o libodb-pgsql.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-pgsql_2.5.0-0~ubuntu22.04_amd64.deb - # sudo apt-get install -y ./libodb-pgsql.deb - # apt policy libodb-pgsql | grep -q "Unable to locate package" && exit 1 || exit 0 - - # - name: Download and install libodb-pgsql-dev library - # run: | - # curl -fsSL -o libodb-pgsql-dev.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-pgsql-dev_2.5.0-0~ubuntu22.04_amd64.deb - # sudo apt-get install -y ./libodb-pgsql-dev.deb - # apt policy libodb-pgsql-dev | grep -q "Unable to locate package" && exit 1 || exit 0 - - # - name: Install libpq5 - # run: | - # sudo apt-get install -y libpq5 - # apt policy libpq5 | grep -q "Unable to locate package" && exit 1 || exit 0 - name: Check the limit run: | diff --git a/src/core/to-do2.h b/src/core/to-do2.h deleted file mode 100644 index 2631294..0000000 --- a/src/core/to-do2.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -#pragma db object table("todo") -class ToDo -{ -public: - ToDo() = default; - ToDo(const std::string& name, std::time_t createdAtUtc) - : name_(name), - createdAtUtc_(createdAtUtc), - deletedAtUtc_() - {} - - std::uint64_t id() const { return id_; } - const std::string& name() const { return name_; } - std::time_t createdAtUtc() const { return createdAtUtc_; } - const odb::nullable& deletedAtUtc() const { return deletedAtUtc_; } - - void name(const std::string& n) { name_ = n; } - void createdAtUtc(std::time_t t) { createdAtUtc_ = t; } - void deletedAtUtc(std::time_t t) { deletedAtUtc_ = t; } - -private: - friend class odb::access; - -#pragma db id auto - std::uint64_t id_; - - std::string name_; -#pragma db type("BIGINT") - std::time_t createdAtUtc_; - -#pragma db null -#pragma db type("BIGINT") - odb::nullable deletedAtUtc_; -}; \ No newline at end of file From de14a3af00a87774689a407bca5665406ed63056 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 13:22:47 +0500 Subject: [PATCH 40/46] ci: #79: remove redundant workflow trigger action --- .devcontainer/devcontainer-lock.json | 9 --------- ...eck-for-exceeding-odb-database-support-code-limit.yml | 3 --- 2 files changed, 12 deletions(-) delete mode 100644 .devcontainer/devcontainer-lock.json diff --git a/.devcontainer/devcontainer-lock.json b/.devcontainer/devcontainer-lock.json deleted file mode 100644 index c8abae3..0000000 --- a/.devcontainer/devcontainer-lock.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "features": { - "ghcr.io/devcontainers/features/docker-outside-of-docker:1": { - "version": "1.10.0", - "resolved": "ghcr.io/devcontainers/features/docker-outside-of-docker@sha256:c2c2cf829505ead8e4892c88c31b6594ae94a2bbb209e16e1fac456c1a3a624e", - "integrity": "sha256:c2c2cf829505ead8e4892c88c31b6594ae94a2bbb209e16e1fac456c1a3a624e" - } - } -} \ No newline at end of file diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 6ef354f..380ee1c 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -14,9 +14,6 @@ name: Check for exceeding the odb database support code limit on: pull_request: types: [opened, synchronize] - push: - branch: - - master jobs: verify-that-database-support-code-limit-has-not-been-exceeded: From 8c0c50e8c67893ee9e818ba1cc0532baed292fb3 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 13:24:14 +0500 Subject: [PATCH 41/46] ci: #79: comment workflow_call trigger action for build nad push image workflow --- .github/workflows/.reusable-docker-build-and-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/.reusable-docker-build-and-push.yml b/.github/workflows/.reusable-docker-build-and-push.yml index d225e41..851d641 100644 --- a/.github/workflows/.reusable-docker-build-and-push.yml +++ b/.github/workflows/.reusable-docker-build-and-push.yml @@ -7,7 +7,7 @@ name: Publish Docker image # if you build => deploy => run e2e against prod it will build the image 3 times! on: # to allow to wait for a docker image to be published to proceed in another workflow - workflow_call: + # workflow_call: # PR-based activation has been added, as there are no workflows that trigger this. # After adding a workflow with tests, you must revert the change and leave only the `workflow_call`. pull_request: From 028c82231ba5954962f5293d4160f6c6af00e715 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 13:25:44 +0500 Subject: [PATCH 42/46] chore: #79: rollback changes --- .devcontainer/devcontainer.json | 2 +- ...er-build-and-push.yml => reusable-docker-build-and-push.yml} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename .github/workflows/{.reusable-docker-build-and-push.yml => reusable-docker-build-and-push.yml} (100%) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 54b28a3..006fe84 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -26,7 +26,7 @@ // Mount caching of build folder "source=dev-build-cache,target=${containerWorkspaceFolder}/build,type=volume", // Mount caching of conan dependencies builds - "source=dev-conan-cache,target=/root/.conan2,type=volume" + "source=dev-conan-cache,target=~/.conan2,type=volume" ], "customizations": { "vscode": { diff --git a/.github/workflows/.reusable-docker-build-and-push.yml b/.github/workflows/reusable-docker-build-and-push.yml similarity index 100% rename from .github/workflows/.reusable-docker-build-and-push.yml rename to .github/workflows/reusable-docker-build-and-push.yml From 640d8096e9d696414c42c530119e7c5f61705eb1 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 13:29:19 +0500 Subject: [PATCH 43/46] ci: #79: update checkout action version --- .github/workflows/reusable-docker-build-and-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-docker-build-and-push.yml b/.github/workflows/reusable-docker-build-and-push.yml index 851d641..43d6b1c 100644 --- a/.github/workflows/reusable-docker-build-and-push.yml +++ b/.github/workflows/reusable-docker-build-and-push.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-24.04 steps: - name: Check out the repo - uses: actions/checkout@v4 + uses: actions/checkout@v7 # this is needed to address this issue according to the comment https://github.com/devcontainers/ci/issues/271#issuecomment-2301764487 # otherwise our TourmalineCore org name cannot be used in docker image names, only tourmalinecore From c5480b157133551dbcac6ac1732b1dabb5dac605 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 15:16:53 +0500 Subject: [PATCH 44/46] ci: #79: move odb package index link to environment variable --- ...eck-for-exceeding-odb-database-support-code-limit.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 380ee1c..2874dfe 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -15,6 +15,9 @@ on: pull_request: types: [opened, synchronize] +env: + ODB_PACKAGE_INDEX_LINK: https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64 + jobs: verify-that-database-support-code-limit-has-not-been-exceeded: runs-on: ubuntu-22.04 @@ -25,19 +28,19 @@ jobs: - name: Download and install odb compiler run: | - curl -fsSL -o odb.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/odb_2.5.0-0~ubuntu22.04_amd64.deb + curl -fsSL -o odb.deb "${ODB_PACKAGE_INDEX_LINK}/odb_2.5.0-0~ubuntu22.04_amd64.deb" sudo apt-get install -y ./odb.deb odb --version | grep -q "No such file or directory" && exit 1 || exit 0 - name: Download and install libodb library run: | - curl -fsSL -o libodb.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb_2.5.0-0~ubuntu22.04_amd64.deb + curl -fsSL -o libodb.deb "${ODB_PACKAGE_INDEX_LINK}/libodb_2.5.0-0~ubuntu22.04_amd64.deb" sudo apt-get install -y ./libodb.deb apt policy libodb | grep -q "Unable to locate package" && exit 1 || exit 0 - name: Download and install libodb-dev library run: | - curl -fsSL -o libodb-dev.deb https://www.codesynthesis.com/download/odb/2.5.0/ubuntu/ubuntu22.04/x86_64/libodb-dev_2.5.0-0~ubuntu22.04_amd64.deb + curl -fsSL -o libodb-dev.deb "${ODB_PACKAGE_INDEX_LINK}/libodb-dev_2.5.0-0~ubuntu22.04_amd64.deb" sudo apt-get install -y ./libodb-dev.deb apt policy libodb-dev | grep -q "Unable to locate package" && exit 1 || exit 0 From edf6f329ac95c4e8db524f1b715ff6cb8a19aa85 Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 15:17:49 +0500 Subject: [PATCH 45/46] ci: #79: modify models path so that collect all .h files inside core directory include nested files --- .../check-for-exceeding-odb-database-support-code-limit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 2874dfe..1aa0894 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -48,5 +48,5 @@ jobs: run: | odb \ --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ - ./src/core/*.h + ./src/core/**/*.h From 3ed1e73606785115364b8859854a1fc6b03f20db Mon Sep 17 00:00:00 2001 From: Artem Sheptunov <106321977+Infindery@users.noreply.github.com> Date: Fri, 10 Jul 2026 15:23:08 +0500 Subject: [PATCH 46/46] ci: #79: fix process stars in bash while odb sloc calculate step execution --- .../check-for-exceeding-odb-database-support-code-limit.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml index 1aa0894..cb5d73b 100644 --- a/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml +++ b/.github/workflows/check-for-exceeding-odb-database-support-code-limit.yml @@ -46,6 +46,8 @@ jobs: - name: Check the limit run: | + # If this is not enabled, bash will not be able to process '**' + shopt -s globstar nullglob odb \ --show-sloc --sloc-limit 10000 -d pgsql --std c++20 \ ./src/core/**/*.h